CSS中的em、px 、pt 、Percent之間的關係及換算

來源:互聯網
上載者:User
這篇文章主要介紹了CSS Font-Size: em、 px 、pt 、Percent之間的關係及換算,本篇整理的還是比較詳細的,需要的朋友可以參考下

一、基礎介紹
1、“Ems”: em,大小不固定 ,成為相對單位(body則相對瀏覽器的預設字型設定,子集相對父級), 瀏覽器預設設定字型大小為16px , 則1em = 16px , 且其可擴充,2em = 32px , 目前常用的字型大小px換算成em ,
16px = 1em; 14px = 0.875em; 12px = 0.75em; 10px = 0.625em
2、“Pixels”: px,大小是固定的,稱為絕對單位,在移動端的可訪問性差
3、“Points”:pt,大小固定,屬於絕對單位,適用於印刷、列印媒體。
4、“Percent”: %,跟em相似,以percent來表示,則當前字型的大小為100% ,使用% 設定字型,你的頁面字型在行動裝置端的可訪問性也很好。
二、關係
一般情況下,1em=12pt=16px=100% . 下面例子前提在body中設定基礎字型大小。

由可看出,相對單位em 和 % 會隨著基礎字型大小的變化而變化,而pt 和 px 不會變化,這就是為什麼選擇em 和 % 設定web文檔文本的字型(其在移動端的訪問性也很好)。
三、em 與 % ,em與px 的換算
em的特點:
1. em的值並不是固定的;
2. em會繼承父級元素的字型大小。
重寫步驟:
1. body選取器中聲明Font-size:62.5%;
2. 將你的原來的px數值除以10,然後換上em作為單位;
如果只需要以上兩步就能解決問題的話,可能就沒人用px了。經過以上兩步,你會發現你的網站字型大得出乎想象。因為em的值不固定,又會繼承父級 元素的大小,你可能會在content這個p裡把字型大小設為1.2em, 也就是12px。然後你又把選取器p的字型大小也設為1.2em,但如果p屬於content的子級的話,p的字型大小就不是12px,而是1.2em= 1.2 * 12px=14.4px。這是因為content的字型大小被設為1.2em,這個em值繼承其父級元素body的大小,也就是16px * 62.5% * 1.2=12px, 而p作為其子級,em則繼承content的字型高,也就是12px。所以p的1.2em就不再是12px,而是14.4px。
3. 重新計算那些被放大的字型的em數值。避免字型大小的重複聲明,也就是避免以上提到的1.2 * 1.2= 1.44的現象。比如說你在#main中聲明了字型大小為1.2em,那麼在聲明p的字型大小時就只能是1em,而不是1.2em, 因為此em非彼em,它因繼承#content的字型高而變為了1em=12px。
詭異的12px漢字
在完成em轉換時還會發現一個詭異的現象,就是由以上方法得到的12px(1.2em)大小的漢字在IE中並不等於直接用12px定義的字型大小,而 是稍大一點。這個問題我已經解決,你只需在body選取器中把62.5%換成63%就能正常顯示了。

以上就是本文的全部內容,希望對大家的學習有所協助,更多相關內容請關注topic.alibabacloud.com!

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.