px
1px的大小根據(jù)分辨率
1. IE無法調(diào)整那些使用px作為單位的字體大?。?/p>
2. Firefox能夠調(diào)整px和em,rem,但是96%以上的中國網(wǎng)民使用IE瀏覽器(或內(nèi)核)。????
em
em是相對大小,相對于父元素而言,比如1.5em的px 就是1.5* 父元素的px,那么到底依據(jù)哪個(gè)父元素呢?到底是多少px呢?
任意瀏覽器的默認(rèn)字體高都是16px。所有未經(jīng)調(diào)整的瀏覽器都符合: 1em=16px。那么12px=0.75em,10px=0.625em。為了簡化font-size的換算,需要在css中的body選擇器中聲明Font-size=62.5%,這就使em值變?yōu)?16px*62.5%=10px, 這樣12px=1.2em, 10px=1em, 也就是說只需要將你的原來的px數(shù)值除以10,然后換上em作為單位就行了。
所以我們在寫CSS的時(shí)候,需要注意兩點(diǎn):
1. body選擇器中聲明Font-size=62.5%;
2. 將你的原來的px數(shù)值除以10,然后換上em作為單位;
3. 重新計(jì)算那些被放大的字體的em數(shù)值。比如說你期望p的字體大小是12px,而在#content中聲明了字體大小為1.2em,那么在聲明p的字體大小時(shí)就只能是1em,而不是1.2em, 因?yàn)樗^承#content的字體高而變?yōu)榱?em=12px, 如果還寫1.2em就變成了1.2*1.2 (em)了。
rem
這時(shí)就css3就推出了rem,rem就是相對根節(jié)點(diǎn)<html>所規(guī)定的字體的大小,一般就是瀏覽器默認(rèn)大小。一般是16px,那么1.5rem就是1.5*16px。修改字體大小時(shí),可以將根節(jié)點(diǎn)字體大小改成百分比比如 font-size:50%。只要修改根節(jié)點(diǎn)字體大小,就可以進(jìn)行字體的放大縮小,避免em的逐層復(fù)合連鎖反應(yīng)。
目前大多數(shù)瀏覽器都支持rem單位的字體大小,要想兼容IE7和IE8,你還是需要使用px來做單位
html { font-size: 62.5%; }
p?{?font-size:?15px;?font-size:?1.5rem;?}?/* =15px */
px與rem選擇
對于只需要適配少部分手機(jī)設(shè)備,且分辨率對頁面影響不大的,使用px即可 。
對于需要適配各種移動(dòng)設(shè)備,使用rem,例如只需要適配iPhone和iPad等分辨率差別比較挺大的設(shè)備。
性能上有區(qū)別嗎???