我试图弄清楚为什么em
字体大小调整的行为与body
字体大小设置为10像素时的行为方式不同。换句话说,除非我用像素值覆盖它,否则应用于元素的最小字体大小为9px。谁能解释为什么会这样呢?
有关详细说明:我已将html
font-size
设置为62.5%
以获取辅助功能,在大多数浏览器的默认设置下,{{1} }}。我还将10px
字体大小设置为body
,其本身等于1em
。我有3个段落有10px
字体大小。如果您尝试检查chrome中的em
元素并转到"计算"在开发工具中的标签中,您会看到p
font-size
1em
的第一段计算为10px
(正如预期的那样)。但另外两段' font-size
计算为9px
,我希望它们为8px
和6px
。它应用了9px
最小字体大小,覆盖它的唯一方法是对其应用px
字体大小。
P.S:我在Chrome版本40.0.2214.111中遇到过这种情况,这也发生在OS X Yosemite的最新版本中。
html {
font-size:62.5%;
padding:3em;
}
body { font-size:1em; }
._10 {
font-size:1em;
}
._8 {
font-size:0.8em;
}
._6 {
font-size:0.6em;
}

<p class="_10">1x10 = 10</p>
<p class="_8">0.8x10 = 9 (!)</p>
<p class="_6">0.6x10 = 9 (!)</p>
&#13;
答案 0 :(得分:-1)
听起来这可能是继承问题 -
em将引用父容器,并根据该容器调整大小。
如果您希望始终在html或body元素上使用字体大小设置,请使用&#39; rem&#39;这是 root