學(xué)習(xí)CSS了解單位em和px的區(qū)別
互聯(lián)網(wǎng) 發(fā)布時(shí)間:2008-10-17 19:26:37 作者:佚名
我要評(píng)論

這里引用的是Jorux的“95%的中國(guó)網(wǎng)站需要重寫CSS”的文章,題目有點(diǎn)嚇人,但是確實(shí)是現(xiàn)在國(guó)內(nèi)網(wǎng)頁(yè)制作方面的一些缺陷。我一直也搞不清楚px與em之間的關(guān)系和特點(diǎn),看過以后確實(shí)收獲很大。平時(shí)都是用px來定義字體,所以無法用瀏覽器字體放大的功能,而國(guó)外大多數(shù)網(wǎng)
這里引用的是Jorux的“95%的中國(guó)網(wǎng)站需要重寫CSS”的文章,題目有點(diǎn)嚇人,但是確實(shí)是現(xiàn)在國(guó)內(nèi)網(wǎng)頁(yè)制作方面的一些缺陷。我一直也搞不清楚px與em之間的關(guān)系和特點(diǎn),看過以后確實(shí)收獲很大。平時(shí)都是用px來定義字體,所以無法用瀏覽器字體放大的功能,而國(guó)外大多數(shù)網(wǎng)站都可以在IE下使用。因?yàn)?
1. IE無法調(diào)整那些使用px作為單位的字體大?。?br />2. 國(guó)外的大部分網(wǎng)站能夠調(diào)整的原因在于其使用了em作為字體單位;
3. Firefox能夠調(diào)整px和em,但是96%以上的中國(guó)網(wǎng)民使用IE瀏覽器(或內(nèi)核)。
px像素(Pixel)。相對(duì)長(zhǎng)度單位。像素px是相對(duì)于顯示器屏幕分辨率而言的。(引自CSS2.0手冊(cè))
em是相對(duì)長(zhǎng)度單位。相對(duì)于當(dāng)前對(duì)象內(nèi)文本的字體尺寸。如當(dāng)前對(duì)行內(nèi)文本的字體尺寸未被人為設(shè)置,則相對(duì)于瀏覽器的默認(rèn)字體尺寸。(引自CSS2.0手冊(cè))
任意瀏覽器的默認(rèn)字體高都是16px。所有未經(jīng)調(diào)整的瀏覽器都符合: 1em=16px。那么12px=0.75em,10px=0.625em。為了簡(jiǎn)化font-size的換算,需要在css中的body選擇器中聲明Font-size=62.5%,這就使em值變?yōu)?16px*62.5%=10px, 這樣12px=1.2em, 10px=1em, 也就是說只需要將你的原來的px數(shù)值除以10,然后換上em作為單位就行了。
em有如下特點(diǎn):
1. em的值并不是固定的;
2. em會(huì)繼承父級(jí)元素的字體大小。
所以我們?cè)趯慍SS的時(shí)候,需要注意兩點(diǎn):
1. body選擇器中聲明Font-size=62.5%;
2. 將你的原來的px數(shù)值除以10,然后換上em作為單位;
3. 重新計(jì)算那些被放大的字體的em數(shù)值。避免字體大小的重復(fù)聲明。
也就是避免1.2 * 1.2= 1.44的現(xiàn)象。比如說你在#content中聲明了字體大小為1.2em,那么在聲明p的字體大小時(shí)就只能是1em,而不是1.2em, 因?yàn)榇薳m非彼em,它因繼承#content的字體高而變?yōu)榱?em=12px。
但是12px漢字例外,就是由以上方法得到的12px(1.2em)大小的漢字在IE中并不等于直接用12px定義的字體大小,而是稍大一點(diǎn)。這個(gè)問題 Jorux已經(jīng)解決,只需在body選擇器中把62.5%換成63%就能正常顯示了。原因可能是IE處理漢字時(shí),對(duì)于浮點(diǎn)的取值精確度有限。不知道有沒有其他的解釋。
相關(guān)文章
- 說說css的幾種距離吧,大致有px、em、pt、pc、in、mm、cm、ex八種,其中最常見到的是px,我還見到過的有ex和mm、cm,當(dāng)然后兩個(gè)在當(dāng)年見的更多2014-07-28
CSS Font-Size: em、px 、pt 、Percent之間的關(guān)系及換算
這篇文章主要介紹了CSS Font-Size: em、 px 、pt 、Percent之間的關(guān)系及換算,本篇整理的還是比較詳細(xì)的,需要的朋友可以參考下2014-05-15搞清楚CSS中單位px與em之間的關(guān)系和特點(diǎn)
一直也搞不清楚px與em之間的關(guān)系和特點(diǎn),看過以后確實(shí)收獲很大,用px來定義字體,所以無法用瀏覽器字體放大的功能,下面為大家講解下2014-02-27CSS的em、px、pt長(zhǎng)度單位轉(zhuǎn)換示例
如果字體未做任何CSS設(shè)定或者元素的設(shè)定,默認(rèn)的字體是12pt或者16px,或者1em,或者font size=3下面有個(gè)不錯(cuò)的em、px、pt長(zhǎng)度單位轉(zhuǎn)換示例,不懂的朋友可以參考下2013-11-07- 網(wǎng)站制作中字體單位應(yīng)該用em而不用px,原因簡(jiǎn)單來說就是支持IE6下的字體縮放,在頁(yè)面中按ctrl+滾輪,字體以px為單位的網(wǎng)站沒有反應(yīng),在本文將為大家詳細(xì)介紹下2013-09-16
css中的長(zhǎng)度單位(em/ex/px/pt)使用介紹
css中的長(zhǎng)度單位在網(wǎng)頁(yè)布局中經(jīng)常會(huì)用到(em/ex/px/pt),至于在什么情況下使用,怎么用將在下文為大家詳細(xì)介紹下2013-06-16- 很長(zhǎng)一段時(shí)間,我都使用12px作為網(wǎng)站的主要字體大小,10px太小,眼睛很容易疲勞2008-10-17
CSS教程:簡(jiǎn)單理解em-CSS教程-網(wǎng)頁(yè)制作-網(wǎng)頁(yè)教學(xué)網(wǎng)
px比em更加容易使用,em指字體高,任意瀏覽器的默認(rèn)字體高都是16px。所以未經(jīng)調(diào)整的瀏覽器都符合: 1em=16px,所以10px=0.625em。為了簡(jiǎn)化font-size的換算,需要在css中的bod2008-10-17- 這篇文章主要介紹了CSS中單位px與em的區(qū)別 的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-07-05