【发布时间】:2012-04-17 14:51:47
【问题描述】:
当使用 EM 单位而不是 PX 单位指定字体大小时,我无法编写可维护的 CSS 代码。我已经习惯了这样写 CSS 代码:
body {font-size: 12px;}
body .sidebar {font-size:11px;}
body .sidebar .loadmore {font-size:10px;}
body .sidebar .warning {font-size:13px;}
这个想法是,在整个网站的许多页面上,都有很多应该具有 12 像素字体大小的文本。我利用特殊性规则来覆盖网站特殊区域的 12px 字体大小。
假设我将上面的代码重写为:
body {font-size: 12em;}
body .sidebar {font-size:11em;}
body .sidebar .loadmore {font-size:10em;}
body .sidebar .warning {font-size:13em;}
如果我在上面的代码中将 px 替换为 em,我的理解是我失去了特异性规则的优势。代码的第 3 行将被解释为“10 em of 11 em of 12 em”,这与“覆盖所有以前的规则并使用 10 em of (默认值是什么?)”的含义完全不同。我说的对吗?
编辑如果我说的是正确的,那么如何编写字体大小规则,例如“对所有元素使用字体大小 X,但在侧边栏上使用字体大小 Y”?
【问题讨论】:
-
见我的例子jsfiddle.net/PJWrW。对于嵌套元素,使用乘以所需大小的值 - 例如,
1.1em或110%。 -
@John 编辑我的原始回复以反映您自己的回复,但简而言之。 jnylen 通过他/她对比例因子的使用为您指明了正确的轨道。