css3中單位px,em,rem,vh,vw,vmin,vmax的區(qū)別及瀏覽器支持情況

px:絕對單位,頁面按精確像素展示

em:相對單位,基準(zhǔn)點為父節(jié)點字體的大小,如果自身定義了font-size按自身來計算(瀏覽器默認(rèn)字體是16px),整個頁面內(nèi)1em不是一個固定的值。

rem:相對單位,可理解為”root em”, 相對根節(jié)點html的字體大小來計算,CSS3新加屬性,chrome/firefox/IE9+支持。

(另外需注意chrome強(qiáng)制最小字體為12號,即使設(shè)置成 10px 最終都會顯示成 12px,當(dāng)把html的font-size設(shè)置成10px,子節(jié)點rem的計算還是以12px為基準(zhǔn),所以網(wǎng)上很多文章提到的將html的font-size設(shè)為10方便計算不是那么可取)。
rem在移動端應(yīng)用可參考淘寶的頁面http://m.taobao.com (html的font-size通過動態(tài)計算獲取)
頁面基準(zhǔn)320px(20px),html font-size值的計算:

var ele=document.getElementsByTagName("html")[0],  
       size=document.body.clientWidth/320*20;  
      ele.style.fontSize=size+"px"

注:需設(shè)置meta縮放比1:1

<meta name="viewport" content="width=device-width, initial-scale=1.0, 
maximum-scale=1.0, minimum-scale=1.0, user-scalable=no" />

vw:viewpoint width,視窗寬度,1vw等于視窗寬度的1%。
vh:viewpoint height,視窗高度,1vh等于視窗高度的1%。
vmin:vw和vh中較小的那個。
vmax:vw和vh中較大的那個。

vw, vh, vmin, vmax:IE9+局部支持,chrome/firefox/safari/opera支持,iOS safari 8+支持,Androidbrowser4.4+支持,chrome for android39支持

其它的單位還有:%:百分比in:寸cm:厘米mm:毫米pt:point,大約1/72寸pc:pica,大約6pt,1/6寸

ex:取當(dāng)前作用效果的字體的x的高度,在無法確定x高度的情況下以0.5em計算(IE11及以下均不支持,firefox/chrome/safari/opera/ios safari/android browser4.4+等均需屬性加么有前綴)ch:以節(jié)點所使用字體中的“0”字符為基準(zhǔn),找不到時為0.5em(ie10+,chrome31+,safair7.1+,opera26+,ios safari 7.1+,android browser4.4+支持)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容