在現今這個提倡可用性設計以及使用者體驗設計的網路時代,CSS也是要一同參與其中的。大部分人在CSS程式碼編寫中總是先對整體定義字體尺寸,中文情況下一般為12px,而其實這樣以來在透過IE頂部選單中的「察看-文字大小」設定已無任何作用。對字體感覺太小的瀏覽者而言無疑是種很不好的使用者體驗過程。其實這一切都可以避免,那就是使用em單位作為字體顯示單位。
瀏覽器的預設字體高都是16px,所以未經調整的瀏覽器在顯示1em=16px。換算過來的話也就是說1px=0.0625em,也就是12px=0.75em, 10px=0.625em,透過1px=0.0625em大家可以在CSS編寫時透過px轉換成em。不過還有更方便的方法,繼續往下看!
這種方法要用到%單位(僅1次),其實%和em簡單的話可以理解成前者只是比後者多2個0。為了簡化font-size的換算,大家可以在css中的body中先全域宣告font-size=62.5%,這裡的%的演算法和em一樣,100%=16px,1px=6.25%,10px=62.5%,也就是定義了預設字體大小為10px。許多初學者可能會在此定義0.625em或直接定義12px,這是沒有效果的,一定要定義font-size=62.5%!由於em具有會繼承父級出血元素的字體大小的特點,這是的1em=10px,所以12px=1.2em。 px與em的轉換透過10就可以得來,很方便了吧!
此外有一點必須要注意,可能是IE處理漢字時,對於浮點的取值精確度有限,在body下62.5%出來的12px字體比直接定義的要大一點點,只要將62.5%換成63%就可以了。透過以上對CSS程式碼的調整,你會發現自己的網站又向使用者體驗設計更靠近了一步,在如今這個提倡可用性設計以及使用者體驗設計的網路時代這是很重要的。