研究视口行为,我在理解元视口声明时遇到了一些麻烦。
我看到width=device-width
和initial-scale=1
一起使用很多,但据我所知,后者暗示了前者。
MDN还提到定义width
和initial-scale=1
将导致宽度作为最小视口宽度。如果是这种情况,那么是否需要将宽度定义为device-width
?当然,任何布局视口小于设备宽度的初始比例都不能为1。
我是否遗漏了某些内容或将宽度定义为设备宽度冗余?
由于
答案 0 :(得分:1)
同时使用width=device-width
和initial-scale=1
可确保跨浏览器/设备兼容性。例如,对于iOS设备,您的网页需要initial-scale=1
来获取设备的方向更改,因为width=device-width
不会。使用两者都可以使用元视口标记确保最大效果。
答案 1 :(得分:1)
2个标签不一样。
“width=device
”标记告诉浏览器将设备的实际宽度用作屏幕的100%宽度。如果省略它,移动设备将模拟它具有更高的分辨率,并且您的内容不会被拉伸到全宽。
initial-scale
是首次加载时的缩放级别。如果将其设置为1以及“width=device
”,则内容将不会缩小或缩小。您也无法缩小超过初始比例(但您仍然可以放大)。这就好像你将'minimum-scale'设置为1。
还有一个“maximum-scale
”,如果您将其设置为1,则用户将无法放大超过初始比例。
这是一个如何创建'app-like'感觉的示例,其中内容以1:1的比例使用设备的宽度。
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1">
希望这有帮助!