将网站扩展到移动设备

Scale website to mobile devices

我有一个 Web 应用程序,其中响应式布局不适用于移动设备,因此我尝试稍微调整视口缩放比例但没有成功。

页面大小为 1280x720,因此在小屏幕上应该缩小,在大屏幕上放大:

var scale = $(window).width() / 1280;

$('head').append('<meta name="viewport" content="width=device-width, height=device-height, initial-scale=' + scale + ', maximum-scale=' + scale + ', user-scalable=0">');

我只试过这个宽度,但结果不是我想要的,我做错了吗?

对我来说,我创建了一个 css-layout 文件 link 它到我的 html 文件并查询每个宽度 或者您可以学习 bootstrap 并且您的网站将可以移动,而无需执行我所做的(bootstrap 对我来说编辑 js 很痛苦) 至于查询这是我写出来的方式

在你的 html

<meta name="viewport" content="width=device-width, initial-scale=1.0, 
user-scalable=no">

然后在你的 css

@media only screen and (device-width: 1280px),
only screen and (max-width:1280px) {
.css-element {
yourcsscode:;
}
   }

我会把它写出来,但是你想要你的网页 css 然后像上面显示的那样构建尺寸还可以说你想要一个菜单​​栏出现你可以创建一个 css 对于主导航,然后使用 @media 然后更改该导航的 css 以显示菜单栏。

还有

.css-element{
display:block;
}

.css-element{
display:none;
}

查询时很有帮助

我不确定你到底想达到什么目的,但有以下 html

<meta name="viewport" content="width=1280, initial-scale=1">

及以下JS

var siteWidth = 1280;
var scale = screen.width /siteWidth;

document.querySelector('meta[name="viewport"]').setAttribute('content', 'width='+siteWidth+', initial-scale='+scale+'');

您应该能够在移动设备上显示初始放大或缩小的页面。您必须检查设备是否为纵向。对于横向,您需要使用 screen.height 而不是 screen.width

尝试 window.outerWidth,而不是 $(window).width()。 此外,使用您喜欢的像素宽度而不是 device-width。 所以代码变成:

var scale = window.outerWidth / 1280;

$('head').append('<meta name="viewport" content="width=1280, initial-scale=' + scale + ', maximum-scale=' + scale + ', user-scalable=0">');

它适用于 Chrome、Opera 和 Firefox 的移动版本。让我知道它是如何为你工作的。

设计响应式网站有不同的方法。

CSS 媒体查询。

          /* For mobile phones: */
          [class*="col-"] {
        width: 100%;
           }
          @media only screen and (min-width: 600px) {
         /* For tablets: */
       .col-m-1 {width: 8.33%;}
       .col-m-2 {width: 16.66%;}
       .col-m-3 {width: 25%;}
       .col-m-4 {width: 33.33%;}
       .col-m-5 {width: 41.66%;}
       .col-m-6 {width: 50%;}
       .col-m-7 {width: 58.33%;}
      .col-m-8 {width: 66.66%;}
      .col-m-9 {width: 75%;}
      .col-m-10 {width: 83.33%;}
      .col-m-11 {width: 91.66%;}
      .col-m-12 {width: 100%;}
         }
        @media only screen and (min-width: 768px) {
      /* For desktop: */
      .col-1 {width: 8.33%;}
      .col-2 {width: 16.66%;}
      .col-3 {width: 25%;}
      .col-4 {width: 33.33%;}
      .col-5 {width: 41.66%;}
      .col-6 {width: 50%;}
      .col-7 {width: 58.33%;}
      .col-8 {width: 66.66%;}
      .col-9 {width: 75%;}
      .col-10 {width: 83.33%;}
      .col-11 {width: 91.66%;}
      .col-12 {width: 100%;}
         }

查看端口。

   <meta name="viewport" content="width=device-width, initial-scale=1.0">

使用 window.innerWidth & window.outerWidth 属性动态计算宽度。

正在申请 bootstrap.

尝试对所有 div 类 使用 col-xs(col-xs-4 至 col-xs-12),并为您的元素提供固定的 width/height 使用 css 媒体查询。

哇!这些答案真的很复杂。我只是个新手,但我想我找到了一个简单的解决方法。这可能需要一段时间(如果您的网站快要完成了,这可能会花费太长时间,您应该遵循其他解决方案),但它确实有效。 注意:此解决方案虽然简单,但(显然)需要对创建网站的所有 3 种主要语言有基本的了解,JavaScript、HTML 和 CSS,因为此解决方案中使用了所有 3 个。 首先在 HTML.

的 head 标签中输入
<meta name=“viewport” content=“width=device-width, initial-scale=1.0“>

这基本上告诉浏览器确保视口(网站的可见区域)的宽度等于正在使用的设备本身的宽度。它还告诉浏览器在打开网站时进行 100% 缩放,用 initial-scale=1.0 表示。 下一部分在 JavaScript 中。您需要找到视口的宽度。您可以使用的一种方法是

console.log(window.innerWidth)

基本上,这个 returns 视口的宽度以像素为单位进入 console,可以使用 Ctrl + Shift + I > “Console” 访问 最后,是漫长而艰难的部分。这是在 CSS 中完成的。您必须转换网站上的所有单位。您可能使用的大多数单位都是 px 或像素。像素宽度因设备而异,因此,例如,位于网站完整右边缘的图片可能会显示在计算机中,但可能不会显示在 phone 或平板电脑上,因为 px 从左边开始可能会超过它的像素数量,如果这有意义的话。 无论如何,您可以将 px 转换为 vwvw 单位,而 px 是固定单位,是相对单位。它是相对于视口的宽度。

1vw = 1% of the width of the viewport

因此,所有设备的宽度都是 100vw,即使它们都具有不同的像素宽度。因此,利用这些知识,您可以使用以下等式将 x 像素转换为该单位。

x*(100vw/device width in pixels)

用计算器算一下。一旦您的所有单位都在 vw 中,您的浏览器将相对于视口定位您的所有元素,并且您网站的外观几乎不会改变。 希望这对您有所帮助!