用px定義字體,無法用瀏覽器字體放大功能,而國外大多數網站可以在IE瀏覽器中使用。
原因:
1.IE無法調整px為單位的字體大小。
2.國外大部分使用em為字體單位。
px,em都為相對長度單位,
px是相對於顯示器解析度而言的。
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有以下特點:
1.em的值並不是固定的。
2.em會繼承父級元素的字體大小。
因此需要強調:
1.body選擇器中宣告font-size=62.5%
2.將原來的px數值除以10,然後換上em為單位
3.重新計算那些被放大的字體的em值,避免字體大小重複聲明。
注意事項:
用以上方法的得到的12px(1.2em)漢字,在IE中並不等於直接用12px定義的字體大小,而是稍大一些。
需要在body選擇器中把62.5%換成63%就能正常顯示了。
原因可能是IE處理漢字時,對浮點的取值精確度有限。
以上所述是小編給大家介紹的徹底弄清楚CSS中單位px與em的區別,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回复大家的。在此也非常感謝大家對PHP中文網的支持!
以上是詳解CSS中單位px與em的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!