document.documentElement.clientWidth 不包含滾動條css
window.innerWidth +滾動條ios
window.outerWidth +瀏覽器邊框程序員
window.width 屏幕區域瀏覽器
IPhone 6 的 屏幕分辨率 爲 750*1334佈局
IPhone 6 的尺寸 爲 4.7 英寸網站
IPhone 6 的 像素比 DPR 爲 2 window.devicePixelRatio;spa
IPhone 6 的 獨立像素 爲 375*667 window.innerWidth;blog
IPhone 6 的佈局(視口)像素爲 980*1743 document.documentElement.clientWidth開發
在普通的 PC 端,視口的默認寬度 與 瀏覽器的窗口寬度 一致io
若是直接將 PC 端頁面 放到移動端,會是一個 壓縮的效果
如何將 數以萬計 或者 數以億計 的 PC 端網頁 完整的呈如今移動端設備,而不會出現滾動條?
此時,移動端瀏覽器必須有一個容器,容器 規定 PC 端頁面 如何在移動端瀏覽器呈現
移動端瀏覽器廠商要實現的目標:
在小屏幕的移動設備上,儘量的縮小網站來讓用戶看到網站的全貌。
因而,移動端瀏覽器廠商,將 佈局視口 默認設置地比 手機屏幕 大,如 IPhone6 的佈局視口爲 980px
移動端的三個視口
佈局視口,即容器。用來裝 PC 端頁面的
默認的佈局視口寬度 遠大於 屏幕的寬度
PC 端中從 初始包含塊 開始盒子,而在移動端,是從 佈局視口 開始填盒子的
所以,必定程度上,能夠把移動端的 佈局視口 理解爲 初始包含塊
視覺視口 與 設備屏幕的區域 同樣大
視覺視口的像素,是 css 像素,而且會隨着用戶的縮放而改變
視覺視口像素
能夠經過 window.innerWidth 獲取,可是在 Android 2 ,Oprea mini,UC 8 中沒法正常獲取
據分析,佈局視口 的默認寬度並不是一個理想的寬度
這也是爲何蘋果和效仿蘋果的瀏覽器廠商 會引進理想視口
只有專門爲移動設備開發的網站,纔有 理想視口 一說。
物理像素 750
獨立像素 375
css 像素 980
像素比 DPR = 物理像素 / 獨立像素 = 750 / 350 = 2
物理像素 750
獨立像素 = css 像素 = 375
像素比 DPR = 物理像素 / 獨立像素 = 物理像素 / css 像素 = 750 / 375 = 2
<meta name="viewport" content="width=375" />
像這樣直接指定 具體數值,ios 會呈現出不理想效果
在 PC 瀏覽器,最乾淨的視口就是約束 css 佈局的視口,決定了用戶能看到什麼
移動設備上,視口分爲兩個:佈局視口限定 css 佈局,視覺視口決定用戶看到什麼
移動設備上,一旦加入 meta 標籤,就有了理想視口,對於特定設備上特定瀏覽器的佈局視口的一個理想尺寸