我正在尝试了解 ios 设备的视口元标记。我创建了一个测试页面,在其中插入了一个 862 像素宽的图像。所以我的视口元标记为:
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale: .5, maximum-scale: 5.0">
然而在 ipad 3 上,分辨率宽度为 1536 像素,并且视口设置为与 ipad 3 相同数量的可见区域,862 像素的图像被放大了,宽度比可见区域稍大。所以我必须水平滚动才能看到图像的其余部分。
这让我认为设备宽度返回 768 像素,这说明了 862 像素图像的水平滚动的一点点额外。为什么要这样做?我必须考虑某种像素密度吗?
更新
我尝试将宽度设置为数字宽度,与图像的确切宽度相同(在本例中为“862”)。所以网页是 862X206,与图像相同,但它与将宽度设置为设备宽度完全相同。
更新 2
我创建了一个非常简单的页面,由于某种原因,一个视口为 862 像素的空白页面导致我的 ipad 3 上的水平和垂直滚动,代码:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=862, initial-scale=1.0">
</head>
<body style="width:100%; padding:0; margin:0">
</body>
</html>
这种滚动导致视口不适合可视区域或屏幕尺寸。我不明白。任何见解将不胜感激。谢谢你。** 注意 ** 我忘记将填充和边距重置为 0,它添加了 8 像素的边距。
更新 3
好吧,本来我以为 device-width 会返回 ipad 3 的 1536 像素的分辨率宽度。显然,它返回的屏幕尺寸是 768 像素。
任何大于 768 的视口宽度都会让我在 ipad 3 上滚动。为什么?如果您有一个 1024 像素的页面,并且您想将其放入 ipad 3 的可见区域中。您将宽度设置为 1024,初始比例为 1,这不应该使 1024px 视口适合可视区域?
解决方案
好的,所以,如果你想让每个设备都知道如何缩放你的页面,你所做的就是忽略初始比例。
因此,如果我只设置宽度,使用设备宽度或数值,而忽略初始比例,它会自动为您计算缩放。它只是工作。
我的困惑在于宽度是什么意思,宽度是指应用比例之前的宽度,所以如果我说:
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale: .5, maximum-scale: 5.0">
缩放前的视口宽度是768,如果网页正文是862px,在应用1.0的比例因子后,内容乘以1.0,862*1.0,所以现在的视口宽度以该比例因子缩放的内容的宽度,862px。我希望我理解这一点。这就是我的困惑所在,这就是宽度的含义。