技術(shù)資訊
em和px兩種字體單位的區(qū)別
2008-04-14 15:49:00
在這系列視覺(jué)設(shè)計(jì)的文章間隙插一篇字體單位的文章。
前文說(shuō)了,字體單位應(yīng)該用em而不用px,原因簡(jiǎn)單來(lái)說(shuō)就是支持IE6下的字體縮放,在頁(yè)面中按ctrl+滾輪,字體以px為單位的網(wǎng)站沒(méi)有反應(yīng)。px是絕對(duì)單位,不支持IE的縮放,em是相對(duì)單位。
我在調(diào)整本blog的時(shí)候,發(fā)現(xiàn)不僅僅是字體,將行距(line-height),和縱向高度的單位都用em。保證縮放時(shí)候的整體性。
怎么將px換成em呢?特地轉(zhuǎn)jorux06年12月的一篇文章,因?yàn)橹形恼居胮x的太多了,如果你是對(duì)代碼不敏感的純?cè)O(shè)計(jì)師,可以向技術(shù)人員或者頁(yè)面制作人員請(qǐng)教:
em是何物?
em指字體高,任意瀏覽器的默認(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)?6px*62.5%=10px, 這樣12px=1.2em, 10px=1em, 也就是說(shuō)只需要將你的原來(lái)的px數(shù)值除以10,然后換上em作為單位就行了。em有如下特點(diǎn):
1. em的值并不是固定的;
2. em會(huì)繼承父級(jí)元素的字體大小。
重寫(xiě)步驟:
1. body選擇器中聲明Font-size=62.5%;
2. 將你的原來(lái)的px數(shù)值除以10,然后換上em作為單位;
簡(jiǎn)單吧,如果只需要以上兩步就能解決問(wèn)題的話,可能就沒(méi)人用px了。經(jīng)過(guò)以上兩步,你會(huì)發(fā)現(xiàn)你的網(wǎng)站字體大得出乎想象。因?yàn)閑m的值不固定,又會(huì)繼承父級(jí) 元素的大小,你可能會(huì)在content這個(gè)div里把字體大小設(shè)為1.2em, 也就是12px。然后你又把選擇器p的字體大小也設(shè)為1.2em,但如果p屬于content的子級(jí)的話,p的字體大小就不是12px,而是1.2em= 1.2 * 12px=14.4px。這是因?yàn)閏ontent的字體大小被設(shè)為1.2em,這個(gè)em值繼承其父級(jí)元素body的大小,也就是16px * 62.5% * 1.2=12px, 而p作為其子級(jí),em則繼承content的字體高,也就是12px。所以p的1.2em就不再是12px,而是14.4px。
3. 重新計(jì)算那些被放大的字體的em數(shù)值。避免字體大小的重復(fù)聲明,也就是避免以上提到的1.2 * 1.2= 1.44的現(xiàn)象。比如說(shuō)你在#content中聲明了字體大小為1.2em,那么在聲明p的字體大小時(shí)就只能是1em,而不是1.2em, 因?yàn)榇薳m非彼em,它因繼承#content的字體高而變?yōu)榱?em=12px。
詭異的12px漢字(原因待查)
本人在完成em轉(zhuǎn)換時(shí)還發(fā)現(xiàn)了一個(gè)詭異的現(xiàn)象,就是由以上方法得到的12px(1.2em)大小的漢字在IE中并不等于直接用12px定義的字體大小,而 是稍大一點(diǎn)。這個(gè)問(wèn)題我已經(jīng)解決,你只需在body選擇器中把62.5%換成63%就能正常顯示了。原因可能是IE處理漢字時(shí),對(duì)于浮點(diǎn)的取值精確度有 限。閱讀本篇的讀者還有其他解釋嗎?
本現(xiàn)象只發(fā)生在12px的漢字,英文不存在此現(xiàn)象。你可以在這里下載到此表現(xiàn)此現(xiàn)象的文件。下載后請(qǐng)讀者用IE打開(kāi)sample.htm, 可以看到第一段文字明顯長(zhǎng)于第二段。然后你可以用編輯器打開(kāi)style.css,看看究竟發(fā)生了什么。解決方法就是把style.css中的62.5%換為63%。演示鏈接
還可以做哪些改進(jìn)
為什么還需改進(jìn):
1. 你的網(wǎng)站css過(guò)于復(fù)雜,以至于不知道元素的從屬關(guān)系,很難重寫(xiě)css;
2. 絕大部分人看了本文之后仍然不會(huì)重寫(xiě)css;
3. 很大部分人不知道瀏覽器可以調(diào)整頁(yè)面的字體大小。
所以你需要一個(gè)諸如本站信息框中的字體大小調(diào)整控件。
相信本站讀者的英語(yǔ)能力,這里就不再羅嗦了,請(qǐng)參看:The Text Changer
Important reference:
1. How to size text using ems
2. The Text Changer
近期更新
- [2023-07-26 14:17:28] 為品牌賦能,海外官網(wǎng)品牌數(shù)字化
- [2023-05-06 10:32:26] 青島網(wǎng)站建設(shè)公司,高端網(wǎng)站定制,一站式網(wǎng)站服務(wù)——力圖數(shù)字科技
- [2023-04-27 13:47:54] 高端定制網(wǎng)站建設(shè)——從滿足預(yù)期到走向卓越
- [2023-04-11 09:17:49] H5頁(yè)面設(shè)計(jì)開(kāi)發(fā)——移動(dòng)端傳播利器
- [2022-11-16 10:11:43] windows2012程序在哪
- [2022-04-14 11:01:47] 力圖數(shù)字科技配套網(wǎng)站服務(wù)支持
- [2021-05-18 10:14:11] 青島網(wǎng)站建設(shè)的流程
- [2021-04-29 10:14:38] 企業(yè)定制化官網(wǎng)建設(shè)項(xiàng)目
- [2021-03-05 10:34:45] 移動(dòng)互聯(lián)時(shí)代房地產(chǎn)行業(yè)的微信小程序解決方案
- [2021-01-22 17:29:38] 微信小程序有哪些優(yōu)勢(shì)?為什么要開(kāi)發(fā)微信小程序?
- [2021-01-08 17:28:04] 網(wǎng)站建設(shè)最容易忽略的人性化設(shè)計(jì)
- [2020-12-16 16:55:32] 建設(shè)一個(gè)常規(guī)的公司網(wǎng)站建設(shè)成本大概是多少?
延伸閱讀
解決方案
輪胎行業(yè)網(wǎng)站設(shè)計(jì)解決方案 機(jī)械行業(yè)網(wǎng)站設(shè)計(jì)解決方案 房地產(chǎn)行業(yè)網(wǎng)站設(shè)計(jì)解決方案 科技企業(yè)網(wǎng)站設(shè)計(jì)解決方案 電子家電網(wǎng)站設(shè)計(jì)解決方案 食品行業(yè)網(wǎng)站設(shè)計(jì)解決方案 集團(tuán)公司網(wǎng)站設(shè)計(jì)解決方案 企事業(yè)單位網(wǎng)站設(shè)計(jì)解決方案 外貿(mào)行業(yè)網(wǎng)站設(shè)計(jì)解決方案 健身運(yùn)動(dòng)網(wǎng)站設(shè)計(jì)解決方案 美容與化妝品網(wǎng)站設(shè)計(jì)解決方案 建筑設(shè)計(jì)行業(yè)網(wǎng)站設(shè)計(jì)解決方案 物流行業(yè)網(wǎng)站設(shè)計(jì)解決方案
TAGS關(guān)鍵字
集團(tuán)性網(wǎng)站 css 網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè) 搜索引擎蜘蛛 手機(jī)網(wǎng)站建設(shè) 網(wǎng)站品牌 網(wǎng)站設(shè)計(jì)資訊 青島flash網(wǎng)站 新的元素 插畫(huà) 青島好的網(wǎng)站優(yōu)化公司 舒適的界面 建站常識(shí) 青島網(wǎng)站建設(shè)公司哪家好 網(wǎng)站改版 微信營(yíng)銷(xiāo)的優(yōu)勢(shì) 網(wǎng)站開(kāi)發(fā) 青島做網(wǎng)站多少錢(qián) 網(wǎng)頁(yè)設(shè)計(jì) 互聯(lián)網(wǎng) 網(wǎng)站設(shè)計(jì) 官網(wǎng)建設(shè) 良好的導(dǎo)航 力圖 青島抖音小程序開(kāi)發(fā) 網(wǎng)站交互設(shè)計(jì) 色彩心理學(xué) 青島網(wǎng)站SEO 手機(jī)網(wǎng)站 英文網(wǎng)站建設(shè)