css單位介紹em ex ch rem vw vh vm cm mm in pt pc px

長度單位主要有如下幾種em ex ch rem vw vh vm cm mm in pt pc px %,大概能夠分爲幾種「絕對單位」和「相對單位」和「百分比單位」。css

絕對單位:px in cm mmhtml

相對單位:em rem  pt pc ex chandroid

百分比單位:vw vh vm %ios

下面主要說幾個經常使用的單位chrome

px:絕對單位,頁面按精確像素展現瀏覽器

em:相對單位,基準點爲父節點字體的大小,若是自身定義了font-size按自身來計算(瀏覽器默認字體是16px),整個頁面內1em不是一個固定的值。字體

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

   rem在移動端應用可參考淘寶的頁面http://m.taobao.com firefox

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+支持,android browser4.4+支持,chrome for android39支持

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

pc:pica,大約6pt,1/6寸

ex:取當前做用效果的字體的x的高度,在沒法肯定x高度的狀況下以0.5em計算(IE11及如下均不支持,firefox/chrome/safari/opera/ios safari/android browser4.4+等均需屬性加麼有前綴)

ch:以節點所使用字體中的「0」字符爲基準,找不到時爲0.5em(ie10+,chrome31+,safair7.1+,opera26+,ios safari 7.1+,android browser4.4+支持)

詳細介紹幾個單位
em
使用em的好處是在響應式設計中,利用em的特性,你能夠只經過改變body的字體大小一個值就修改了整個頁面的各類寬度大小。
em前面已經說了瀏覽器默認字體高是16px,因此1em=16px。那麼12px=0.75em, 10px=0.625em。這樣寫不太方便咱們平時對單位進行換算,爲了簡化咱們須要在css中的body選擇器中聲明
Font-size=62.5%這就使em值變爲16px*62.5%=10px。這樣1em=10px,1.2em=12px利於咱們進行換算
使用em遇到的問題:
例:
 body{font-size: 62.5%;margin: 20px; color: #0072e4;font-weight: bold;} .div1{font-size: 1.2em;} .div1-pgae1{font-size: 1.2em;} .div1-page2{font-size: 1.2em;}
複製代碼
<div class="div1"> <p>div效果</p> <div class="div1-pgae1"> <p>page1效果</p> <div class="div1-page2"> page2效果 </div> </div> </div>
複製代碼

瀏覽器中查看的效果以下:

看到這個效果會發現後面字體不同大小,這是由於em具備繼承父級元素大小,在div1中繼承body大小16px * 62.5% * 1.2=12px,而div1-page1繼承div1的大小,應該是1.2 * 1.2= 1.44因此div1-page1裏面顯示的字體大小實際是14.4px。依次類推

rem

rem也是相對單位,可是他和em不一樣的他是繼承自根結點,不繼承父元素,因此不會出現上面使用em出現的問題。rem用於響應式設計經過改變根元素html的字體大小一個值就修改了整個頁面的各類寬度大小

例如根元素設置字體大小10px,一個容器里正文想用14px,容器就設1.4rem,標題想要20px,那麼就設2rem。若是使用em,那麼標題就要算一下了,20/14=1.4em,若是用2em,就變成28px了。因此rem的好處出來了。

 

下面講講兩個百分比單位%和vw

%單位咱們也會常常用到,很熟悉,就很少講,可是%單位有一個特性是他也是繼承自父元素大小的單位

vw計算的是視察的寬度,並非繼承自父元素大小。與此同時他的好處也體現出來了

相關文章
相關標籤/搜索