內置瀏覽器:基於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。