EM的確可以像百分比一樣工作,因爲基本字體大小總是1em,而.7em會是70%(1.2em相當於基本字體大小的120%)。儘管您需要在文檔主體上定義基本字體大小,但要使其正常工作。通過實驗,我發現font-size:77%;在所有瀏覽器中給你一個很好的基本尺寸(就是說它使得1em呈現「正常」和可讀大小)。您可能希望嘗試使用75%到80%之間的其他值,具體取決於您要使用的字體系列。的同時也要記住的是,相對字體大小累計繼承 - 例如:
<style>
small { font-size: .8em; }
span.tiny { font-size: .8em }
</style>
<small>This text is 80% of base size where as
<span class="tiny">this text is 80% of 80% (or 64%) of base size</span>
</small>
這個工作對你有利,你只需要給你的按鈕類.7em的字體大小,以達到你想要的東西(這些按鈕的字體大小始終爲其父對象的70%)。快樂的編碼!
2014編輯:
值得指出的根EM單元瀏覽器支持現在這麼好*,如果你還沒有使用它,它是值得探討。 Root EM(rem)與根(文檔)字體大小相關,與「正常」EM不同,它不受嵌套影響 - 它始終與根字體大小有關。雖然em
對於大多數文本大小仍然非常有用,但正是因爲它對不尊重嵌套,所以rem
對於邊距和填充等內容非常有用,您可能不希望通過嵌套更改大小(這是常見原因)不對齊的左邊距),但是您要做想要改變大小以及根html
字體大小(通常使用media queries)。
你可以閱讀更多關於EMs與REMs over on Design Shack。
*)IE8是唯一通用的瀏覽器(約5%),其不支持它 - 如果你需要支持IE8,只需在像素同等大小的rem
聲明之前。
我沒有看到0.7em如何與父母大小相關? – Tom 2008-11-17 08:54:29
@Tom:em是相對於當前字體大小。 – 2008-11-17 09:15:50
em總是相對於父字體大小。但0.7em不會給你70%。 – Treb 2008-11-17 09:16:33