viewport :用戶網(wǎng)頁的可視區(qū)域/視口冯勉。
手機(jī)瀏覽器是把頁面放在一個虛擬的"窗口"(viewport)中,通常這個虛擬的"窗口"(viewport)比屏幕寬铺呵,這樣就不用把每個網(wǎng)頁擠到很小的窗口中(這樣會破壞沒有針對手機(jī)瀏覽器優(yōu)化的網(wǎng)頁的布局)官套,用戶可以通過平移和縮放來看網(wǎng)頁的不同部分雀扶。
設(shè)置viewport
一個常用的針對移動網(wǎng)頁優(yōu)化過的頁面的viewport meta 標(biāo)簽大致如下:
<meta name="viewport" content="width=device-width,
initial-scale=1.0, maximum-scale=1.0,user-scalable=yes ">
寬度默認(rèn),初始縮放比例為1.0荒叶,允許用戶最大縮放比例為1.0碾阁,用戶可以手動縮放
width:控制 viewport 的大小,可以指定的一個值些楣,如 600脂凶,或者特殊的值,如 device-width 為移動設(shè)備的寬度(單位為縮放為 100% 時的 CSS 的像素)愁茁。為一個正整數(shù)蚕钦,或字符串"device-width"。
height:和 width 相對應(yīng)鹅很,指定高度嘶居。
initial-scale:初始縮放比例,也即是當(dāng)頁面第一次 load 的時候縮放比例促煮。為一個數(shù)字邮屁,可以帶小數(shù)。
maximum-scale:允許用戶縮放到的最大比例菠齿。為一個數(shù)字佑吝,可以帶小數(shù)
minimum-scale:允許用戶縮放到的最小比例。為一個數(shù)字绳匀,可以帶小數(shù)
user-scalable:用戶是否可以手動縮放迹蛤。值為"no"或"yes", no 代表不允許民珍,yes代表允許
把當(dāng)前的viewport寬度設(shè)置為 ideal viewport 的寬度(移動設(shè)備的屏幕寬度),只需要把width設(shè)置為width=device-width盗飒。
這些屬性可以同時使用嚷量,也可以單獨(dú)使用或混合使用,多個屬性同時使用時用逗號隔開就行了逆趣。
此外蝶溶,在安卓中還支持 target-densitydpi 這個私有屬性,它表示目標(biāo)設(shè)備的密度等級宣渗,作用是決定css中的1px代表多少物理像素抖所。
target-densitydpi 值可以為一個數(shù)值或 high-dpi 、 medium-dpi痕囱、 low-dpi田轧、 device-dpi 這幾個字符串中的一個
特別說明的是,當(dāng) target-densitydpi=device-dpi 時鞍恢, css中的1px會等于物理像素中的1px傻粘。
因為這個屬性只有安卓支持,并且安卓已經(jīng)決定要廢棄 target-densitydpi 這個屬性了帮掉,所以這個屬性我們要避免進(jìn)行使用 弦悉。
visual viewport寬度 (瀏覽器可視區(qū)域的寬度)
ideal viewport寬度 (理想視區(qū)/默認(rèn))
/當(dāng)前縮放值
當(dāng)前縮放值 = ideal viewport寬度 / visual viewport寬度
歸來仍是少年