css中的px,em,rem

·##概念介紹:
1.px(pixel,像素):是一個虛擬長度單位,是計算機系統的數字化長度單位,如果px要換算成物理長度,需要制定精度DPI(Dots Per Inch,每英寸像素數),在掃描打印時一般都有DPI可選。Windows系統默認是96dpiApple系統默認是72dpi。
2.em(相對長度單位,相對于當前對象內文本的字體尺寸):是一個相對長度單位,最初是指字母M的寬度,故名em?,F指的是字符寬度的倍數,用類似百分比,如:0.8em,1.2em,2em等。通常1em=16px。
3.rem(root em,根em):是CSS3新增的一個相對單位,這個單位引起了廣泛關注。這個單位與em有什么區別呢?區別在與使用rem為元素設定字體大小時,仍然是相對大小,但相對的只是HTML根元素。這個單位可謂集相對大小和絕對大小的優點與一身,通過它既可以做到只修改根元素就成比列的調整所有字體大小,又可以避免字體大小逐層復合的連鎖反應。目前,除了IE8及更早的版本以外,所有的瀏覽器均已支持rem。對于不支持它的瀏覽器,應對方法也很簡單,就是多寫一個絕對單位的聲明。這些瀏覽器會忽略rem設定的字體大小。

1.em和px的問題

px為何物?
px像素(pixel)。相對長度單位。像素px數計相對于顯示器屏幕分辨率而言的。(引自CSS2.0手冊)

em是相對長度單位,相對于當前對象內文本的字體尺寸,如當前對行內文本的字體尺寸未被人為設置,則相對于瀏覽器的默認字體尺寸。(引自CSS2.0手冊)

px的特點
1.IE無法調整那些使用px作為單位的字體的大??;
2.國外的大部分網站能夠調整的原因在于其使用了em或rem作為字體單位;
3.Firefox能夠調整px和em,rem,但是96%以上的中國網民使用的是IE瀏覽器(或內核)。

em是何物?
em是指字體高,任意瀏覽器的默認字體高都是16px。所以未經調整的瀏覽器都符合:1em=16px;那么12px=0.75em,10px=0.625em。為了簡化font-size的換算,需要在css中的body選擇器忠聲明Font-size=62.5%,這就使em的值變為16px*62.5%=10px,這樣12px=1.2em,10px=1em,也就是說只需要將你的原來的px數值除以10,然后換上em作為單位就行了。

** em的特點**:
1em指的是一個字體的大小,它會繼承父級元素的字體大小,因此并不是一個固定的值。任何瀏覽器的默認字體都是16px。因此,12px=0.75em。實際應用中為了方便換算,通常會設置如下樣式:
CSS代碼
html{font-size:63%;}

在中文的文章中,一般會在段首空兩格。如果用px作為單位,對12px作為單位,對12px字體來說需要空出24px,對14px字體來說需要空出28px... ...這樣的換算非常不通用,如果用上em單位,這個問題就很好的解決了,1個字體的大小就是1em,那么兩個字體的大小就是2em。因此,只需這樣定義就可以了:
CSS代碼
**p{text-indent:2em;} **

em和px兩種字體單位的區別
字體單位應該用em而不用px,原因簡單來說就是支持IE6下的字體縮放,在頁面中按ctrl+滾輪,字體以px為單位的網站沒有響應。px是絕對單位,不支持IE的縮放,em是相對單位。
不僅僅是字體,將行距(line-height)和縱向高度的單位都用em,可以保證縮放時候的整體性。

em有如下特點:
1.em的值并不是固定的;
2.em會繼承父級元素的字體大小。

em重寫步驟
1.body選擇器中聲明Font-size=62.5%;
2.將你原來的px數值除以10.然后換上em作為單位;
簡單點吧,如果只需要以上兩步就能解決的話,可能就沒人用px了。經過以上兩步,你會發現你的網站字體打得超乎想象。因為em的值不固定,又會繼承父級元素的大小,你可能會在content這個div里面把字體設置為1.2em,也就是12px,然后你又把選擇器p的字體大小也設置為1.2em,但如果p屬于content的子級的話,p的字體大下就不是12px,而是1.2em=1.212px=14.4px。這是因為content的字體大小被設為1.2em,這個em值就繼承其父級元素body的大小,也就是16px62.5%1.2=12px,而p作為其子級,em則繼承content的字體高,也就是12px。所以p的1.2em就不再是12px,而設計后14.4px。
3.重新計算那些被放大的字體的em數值。避免字體大小的重復聲明,也就是避免以上提到的1.2
1.2=1.44的現象。比如說你在#content中聲明了字體的大小為1.2em,那么在聲明p中的字體大小時就只能是1em,而不是1.2em,因為此em非彼em。它因繼承#content的字體高而變成了1em=12px。

IE中的12px漢字:
完成em轉換時還發現了一個詭異的現象,就是由以上方法得到的12px(1.2em)大小的漢字在IE忠并不等于直接用12px定義的字體大小,而是稍大一點。你只需在body選擇器中把62.5%換成63%就能很正常顯示了。原因可能是IE處理漢字時們對于浮點的取值精度有限,本現象只發生在12px的漢字,英文不存在此現象。解決方法就是把style.css的62.5%換為63%。

一個px,em,pt單位轉換工具:
地址:http://pxtoem.com/

2.rem的特點

rem是CSS3新增的一個相對單位(root em,根em),這個單位引起了廣泛關注。這個單位與em有什么區別呢?區別在于使用rem偽元素設置字體大小時,仍然是相對大小,但相對的只是HTML根元素。這個單位可謂集相對大小和絕對大小的優點于一身,通過它既可以做到只修改根元素就成比例地調整所有的字體大小,又可以避免字體大小逐層復合的連鎖反應。目前,除了IE8及更早的版本外,所有的瀏覽器均支持rem。對于不支持它的瀏覽器,應對方法也很簡單,就是多寫一個絕對單位的聲明。這些瀏覽器會忽略用rem設定的字體的大小。
舉例:
p{font-size:14px;font-size:0.875rem;}
注意:選擇用什么字體單位主要由你的項目來決定,如果你的用戶群都是用最新版本的瀏覽器,那推薦使用rem,如果考慮兼容性,那就是用px或者兩者同時使用。

參考博客:http://www.mamicode.com/info-detail-655497.html

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,702評論 6 534
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,615評論 3 419
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 176,606評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,044評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,826評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,227評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,307評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,447評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,992評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,807評論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,001評論 1 370
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,550評論 5 361
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,243評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,667評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,930評論 1 287
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,709評論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,996評論 2 374

推薦閱讀更多精彩內容

  • 直奔主題! 一,px ---- 像素(Pixel)。 相對長度單位。 像素px是相對于顯示器屏幕分辨率而言的,作為...
    遠眺北極熊閱讀 1,509評論 0 0
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,776評論 1 92
  • 概念介紹 px (pixel,像素):是一個虛擬長度單位,是計算機系統的數字化圖像長度單位,如果px要換算成物理長...
    柯琦閱讀 2,024評論 0 7
  • 國內的設計師大都喜歡用px,而國外的網站大都喜歡用em和rem,那么三者有什么區別,又各自有什么優劣呢?PX特點1...
    xixihaha520閱讀 540評論 0 0
  • 雨杭分享: 今天思瑤老師的<愛是生命的至美>課程完美詮釋了情感 兩性關系 1.思瑤老師一看見我,對我笑著說:雨杭好...
    感恩女神詩淘閱讀 352評論 0 2