在 Chrome(版本 31.0.1650.63 m)中使用 em 单位时遇到问题。
遵循 JSFiddle 在 Chrome 中会产生不正确的输出(与 Firefox 或 IE 相比,绿框太大):
http://jsfiddle.net/rapik/j72aZ/
HTML:
<div class="aaa">
<div class="bbb">
</div>
</div>
CSS:
.aaa {
font-size: 0.5rem;
width: 30em;
height: 30em;
background: red;
}
.bbb {
font-size: 0.1em;
width: 15em;
height: 15em;
background: green;
}
问题似乎是font-size: 0.1em
没有使 em 小 10 倍的规则。相反,它将 em 设置为某个最小值。和之间没有区别font-size: 0.1em
,font-size: 0.2em
因为两者都小于这个神奇的最小值....
这是一个错误还是我做错了什么?
这种特殊情况可以通过将“bbb”类的所有值乘以 10 来解决。但在我的情况下,事情更复杂,我需要这个font-size: 0.1em
。
我正在使用 em 单位来构建可扩展的控件。我的控件有根 div 和多个子元素。这个想法是使用 em 设置所有值,并且 em 的运行时大小由根元素的字体大小控制。如果一个元素定义了字体大小,那么它的 em 将取决于它。
我将不胜感激任何想法或建议!
更新:
以下是我所说的不同输出的屏幕截图: