文章内容

2018/10/4 16:58:01,作 者: 黄兵

viewport的一些知识点

viewport虽然不是w3c的标准规范,但是由于iOS设备和WebKit的普遍存在,它们已成为事实上的标准。

viewprot使用多种方式控制页面在不同设备上的显示方式。

下面我们看看viewprot的一些常见属性以及需要注意的问题:

设置设备宽度

下面的代码显示了视口的宽度,这个宽度根据设备屏幕的宽度来确定:

<meta name="viewport" content="width=device-width">

以iPhone为例,如果没有它,移动版Safari会将您的页面渲染为980像素,并允许您点击缩放。使用上面的元标记,您还可以将宽度设置为特定值。例如:

<meta name="viewport" content="width=500">

应用的单位是一个CSS像素!(注意,不需要在元标记中输入'px'单位)。

设置设备高度

非常类似于具有相同语法的宽度视口元素。此元标记参数可以为水平滚动网站派上用场。老实说,我很少使用它。但是,这是一个例子:

<meta name="viewport" content="height=device-height">

与宽度一样,您可以根据需要设置特定的高度值(再次省略诸如'px'之类的单位)。

设置初始比例

另一个常见参数是设置初始比例。这可以使页面在方向更改时正确显示。

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

在iOS6之前有一个错误,意味着页面会缩放方向更改,并且必须包含一个JS解决方案来修复它。Jeremy Keith 对此进行了详细介绍Scott Jehl发布了修正案

如今,在iOS 6+中,唯一一次在改变方向时会感到不安的是当你有一个元素集时,错误的宽度会在某个地方扩展一个不可见的框。

设置最小和最大比例

也可以设置最小和最大比例。最小值可以防止用户缩放太远,最大限度可以防止用户缩放太远。这是最小比例和初始比例的示例:

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

以下是最小值和最大值的示例:

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

在前面的示例中,用户无法缩小超出与内容的1:1关系,只能放大到3:1的关系。

禁用用户缩放

想阻止人们做任何缩放吗?可以像这样写:

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

就我个人而言,我并不喜欢这样,因为你要阻止用户根据需要进行缩放(例如,如果你有完美的视觉,你的漂亮的.8em字体可能会很棒)但不是每个人都这样做


参考资料:Understanding the viewport meta tag, CSS @viewport and making an automatic link to your app

分享到:

发表评论

评论列表