考虑Chrome调试器中显示元素样式的以下显示:
font-size: 18px;
height: 17.600000381469727px;
.a, .h, .r - 1.0em
left: 52.80000305175781px;
line-height: 17.600000381469727px;
.a, .h, .r - 1.0em
我的理解是,由于高度指定为1.0em,因此其像素值应精确等于font-size;相反,由于某种原因,它的尺寸小了0.4像素。填充或边距没有影响。
令人困惑的是,在早期版本中,一切正常:
font-size: 18px;
height: 18px;
.stone, .iw-capture - 1em
line-height: 18px;
.stone, .mark, .iw-capture - 1.0em
因此,浏览器的数学能力没有任何根本性的错误。但是,我无法弄清楚是什么改变导致奇怪的行为,或者为什么任何改变应该对此产生影响。
关于为什么会发生这种情况或者我缺少什么的想法?
答案 0 :(得分:2)
计算em
的公式是
1 ÷ parent font size (px) × required pixels = em equivalent
正如您所看到的,在您的情况下将1
除以18
会给您一个非常长的浮动,后来乘以18
- 并且它不会给您准确的相同的整数。这是浏览器的数学引擎..
答案 1 :(得分:0)
它看起来因为某种原因使用了元素的行高。