【发布时间】:2010-11-25 12:49:58
【问题描述】:
我想使用相对大小而不是固定大小。我想用 em。
我的 CSS 是:
body{
font:10px;
}
#wrap {
font:1.2em;
}
#wrap ul li {
padding-left:2em;
}
li 的填充像素值是多少?我猜它是 2.0*10 = 20px,但看起来它需要 1em = 12px,我的意思是它采用父尺寸。
我希望它以 px 为单位采用父字体大小的 1 倍(这意味着字体大小为 body 而不是 wrap)。
【问题讨论】:
-
如果你想使用
em测量,你为什么不到处使用它们呢? IE。为什么将body字体大小设置为 10 像素(例如,这在我的屏幕上太小了)。 -
@Matthew 如果您打算使用相对字体大小,您的基线应该是 10px,因为它使计算其他所有内容的数学变得更加简单,这几乎是普遍的。即使所有文本最终都是 1.2 或更大。
-
您有什么证据表明使用 10px 是“几乎通用的”?这似乎是一件很奇怪的事情。
-
没有什么是远程通用的。这是一种方法,但在我看来不是一个很好的方法。为什么要使用与预期字体大小或合理行高没有特别关系的基本字体大小?我总是使用相对字体大小,它需要大量额外的数学来控制基线,但对于结果的灵活性来说这是非常值得的。我推荐这篇文章作为入门:24ways.org/2006/compose-to-a-vertical-rhythm 在您的示例中,您无法绕过额外的数学运算。您需要 1.666em 才能获得 20px。