我的網站幾乎完全採用「em」(而不是px)設計。對於現代瀏覽器來說,它應該會好得多。CSS「em」問題:避免縮小到特定元素的字體大小
大部分文字都是font-size:1em。 1em = 16px默認情況下,我沒有指定它。
但我有一些內容的字體大小是1.2em和其他0.8em(例如對於H1或小按鈕)。
「em」的問題是它根據字體大小重新縮放元素的所有大小(邊距,填充,高度...)。
我在我的CSS具體代碼:
/* Reset */
html [and many other elements] {
font-size: 100%;
font: inherit;
}
/* Design */
body {
font-size: 1em;
line-height: 1; /* Line height will equal the em of each element */
}
.small-button {
font-size: 0.8em;
margin-left: 1em;
}
.normal-button {
font-size: 1em;
margin-left: 1em;
}
正常的按鈕有1x1x16 = 16px的保證金。但小按鈕的邊距爲1x0.8x16 = 12.8px。
顯然這是一個特定的「em」屬性(它不會是「px」中的情況),它根據元素的字體大小來縮放一切。
這個例子很簡單;但在我的網站上,讓事情真的很難保持一致。
如何取消激活此屬性,以便在上面的示例中2個按鈕具有相同的邊距? (沒有重新計算大小,這正是我現在正在做的!)
嗨Haroldchen.Would你推薦使用「rem」還是它太具體和一個禁區?我可以在這裏看到http://caniuse.com/rem對於「em」有82%的兼容性,100%... – Ren
這實際上取決於你的目標是什麼。 IE8和OperaMini是真正的問題。你可以填充這兩個瀏覽器(https:// github。com/chuckcarpenter/REM-unit-polyfill)。 或者您每次重新定義字體大小時調整em單位。就我個人而言,我大部分項目都使用ems來根據需要調整em值。 – Haroldchen