内置浏览器:基于WebKit渲染引擎;javascript
Chrome:基于Blink渲染引擎,一般与V8 javascript引擎配合使用。html
开源浏览器Chromium:基于Blink渲染引擎;html5
三星Chrome:基于Chromium开发的三星内置浏览器;java
等等。web
布局视口:远宽于屏幕宽度,缩放不会影响布局视口;浏览器
视觉视口:用户正在看到的网站的区域,与设备屏幕同样宽,但可经过缩放来操做视觉视口;iphone
理想视口:拥有最理想的浏览与阅读的宽度,用户刚进页面时不须要缩放。布局
物理分辨率(DPI):设备每英寸的点数;网站
设备像素比(DPR):设备像素个数与理想视口的比,或者说物理设备像素:CSS逻辑像素。例如在iPhone 4设备屏幕中的物理像素数为640960px,而CSS逻辑像素数为320480像素。所以,使用大约4个物理像素来显示一个CSS像素。例如在iphone4设备屏幕物理像素是640×960px,而CSS逻辑像素是320×480px,所以,大约4个物理像素来显示一个CSS像素;.net
dppx和dpi:dppx是1像素单位中的点数,dpi是1英寸单位中的点数,因为在CSS标准中,1英寸=96像素,因此1dppx=96dpi。
width:设置布局视口的宽度为特定的值,设为"device-width"将布局视口设置成跟理想视口一致,设备旋转时Safari不支持自动将布局视口调整成理想视口(init-scale=1能解决这个问题);
init-scale:设置页面的初始缩放程度,缩放程度跟视觉视口尺寸是逆相关的,通常设置成1时,视觉视口尺寸和理想视口尺寸同样(IE10有着跟Safari彻底相反的问题,使用width=device-width可解决);
得出完美的meta视口:
<meta name="viewport" content="width=device-width, initial-scale=1">
minimum-scale和maximum-scale:设置最小/最大的缩放程度;
user-scalable:是否阻止用户进行缩放。这很邪恶,应该无视它。
布局视口尺寸:document.documentElement.clientWidth/Height,被广泛支持;
视觉视口尺寸:window.innerWidth/Height,接近被广泛支持;
理想视口尺寸:screen.width/height,可能获得的是屏幕的设备像素尺寸,有严重的浏览器兼容问题;
设备屏幕比:window.devicePixelRatio;
屏幕方向:window.orientation。