屏幕适配 – meta视口标签
meta视口标签应该被放在HTML文档的<head>中,并且按以下格式书写:
<meta name="viewport" content="name=value,name=value">
每一个名/值对都是一个给浏览器发号命令的指令。它们被逗号分隔,共有6个:
1. width:设置布局视口的宽度为特定的值
2. initial-scale:设置页面的初始缩放程度和布局视口的宽度
3. minimum-scale:设置了最小缩放程度(用户可缩小的程度)
4. maximum-scale:设置了最大缩放程度(用户可放大的程度)
5. user-scalable:是否阻止用户进行缩放
// 6. height:设置布局视口的高度(未被实现)
width
[1] 不设置宽度
以 iPhone4S 为例,如果不设置viewport,它就会默认是980px,就像把屏幕分成980份。
如果设置一个元素为100px*100px,看起来就是屏幕的100/980。
[2] 把布局视口的尺寸设为一个理想的值
<meta name="viewport" content="width=device-width">
以 iPhone4S 为例,如果设置 viewport width=device-width,它就会是320px,就像把屏幕分成320份。
如果设置一个元素为100px*100px,看起来就是屏幕的100/320 。
[3] 把布局视口的尺寸设为固定宽度
<meta name="viewport" content="width=400">
浏览器支持的最大值是10000个像素,最小值约为理想视口的20%,安卓webkit不允许任何小于布局视口的宽度。
如果你指定了一个这样的值,它会自动转换为默认布局视口,通常是980px。
IE10不允许任何超出480px的值,超出的话会自动转换为布局视口的默认宽度1024px。
initial-scale
initial-scale指令设置了页面的初始缩放程度。1代表100%,2代表200%。缩放程度是根据理想视口来计算的。
当前缩放值 = 理想视口宽度 / 视觉视口宽度 安卓自带的webkit浏览器只有在 initial-scale = 1 以及没有设置width属性时才表现正常。 缩放程度与视觉视口的宽度是逆相关的,越高的缩放程度意味着视觉视口越小。 所以initial-scale=1时,视觉视口尺寸和理想视口尺寸是一样的。 initial-scale=2会放大到200%,因此视觉视口的高宽是理想视口的一半。
minimum-scale和maximum-scale
没有这些指令时,浏览器允许用户的缩放级别达到5(20%-500%);有指令,范围可扩大到10(10%到1000%)。
更高的缩放程度不被支持,因此设置maximum-scale=20和设置maximum-scale=10的效果是一样的。
安卓webkit不支持minimum-scale。同样,它的缩放范围是4(25%-400%),并且不支持改变这个范围。
user-scalable
user-scalable=no 表示禁止缩放
