我的网站几乎完全是用“em”(而不是 px)设计的。对于现代浏览器来说,它应该要好得多。
大多数文本是字体大小: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 个按钮具有相同的边距?(无需重新计算尺寸;这就是我现在正在做的事情!)