2011-10-10 220 views
18

很長一段時間我在CSS文件被使用字體大小:62.5%對字體大小:10px的

body {font-size:62.5%;} 

,因爲它應該讓1em等於10px。但是,最近我注意到Internet Explorer中的情況並非如此。所以,我試了代碼:

html {font-size:100%} 
body {font-size:10px} 

現在這對我來說就像一個魅力。我的問題是:

這個解決方案有什麼缺點,因爲我找不到其他人使用它?

澄清:我稍後在em中指定我所有的字體大小,寬度,高度等等。這只是在我使用10px而不是62.5%

+0

也許這線程可以給你更多這個問題的見解:爲什麼-EM-INSTEAD-OF-PX] [1] [1]:http://stackoverflow.com/questions/609517/why-em-instead-of-px –

+1

我喜歡像素字體尺寸太大......我覺得我有更好的設計控制。過去的缺點是,當人們手動增加文本大小時,它不能很好地擴展......事情會中斷/溢出。使用'%'或'em'可以更好地彌補這些間距問題。然而,近來,更新的瀏覽器正朝着真​​正的「縮放」進出,這使舊的增加/減少文本大小問題變得沒有意義。 – Sparky

+0

那麼,我真的想與他們一起出於可訪問性的原因。感謝您的鏈接,但我仍然不明白其中的差異。在這兩種情況下,1em在Firefox中都是10px,但對於我來說1em在Internet Explorer中會稍大一些。 – RichardL

回答

9

你會得到這個問題雙方的論據。我猜大多數人都會爭論%。但是你要求的缺點或缺陷

如果你碰到一個瀏覽器或設備,它表示你的像素設置而不是默認設置的百分比,並且該像素設置碰巧是有問題的或太小而無法閱讀。如果該瀏覽器沒有爲用戶提供縮放字體或放大頁面的機會,那麼您可能會遇到潛在的問題。

所有這一切,幾乎每一個瀏覽器這些天都有默認設置爲16px。我不能說爲什麼在你的情況下IE瀏覽器的大小不同。如果你想要一個完美尺寸的像素設計,那麼使用px,否則我會建議保留%。

+0

感謝您的回答。這正是我所需要的,儘管它仍然給我帶來了問題。也許我會用IE瀏覽器測試另一個CPU上的網站,看看我是否仍然有同樣的問題。如果它有,那麼我的代碼中的其他內容一定會導致這種情況。 – RichardL

+0

如果這是你正在尋找的答案,將其標記爲正確的anwswer,所以他得到他的分數=) –

0

你可以只使用:

html {font-size:10px} 

所以知道你可以只用REM或EM工作,而無需複雜的計算: 1雷姆= 10px的 2 REM = 20px的