1

考虑 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,那么它的像素值应该正好等于字体大小;相反,由于某种原因,它小了 0.4 像素。没有填充或边距的影响。

令人困惑的是,在早期版本中一切正常:

font-size: 18px;
height: 18px;
    .stone, .iw-capture - 1em
line-height: 18px;
    .stone, .mark, .iw-capture - 1.0em

因此,浏览器进行数学运算的能力并没有根本性的问题。但是,我无法弄清楚是什么改变导致了奇怪的行为,或者为什么任何改变都会对此产生影响。

关于为什么会发生这种情况或我缺少什么的任何想法?

4

2 回答 2

2

计算公式em

1 ÷ parent font size (px) × required pixels = em equivalent

正如您所看到的那样,除以118的情况会给您一个非常长的浮点数,稍后将乘以18- 它不会给您完全相同的整数。那是浏览器的数学引擎..

于 2012-07-15T09:57:16.953 回答
0

看起来它出于某种原因使用了元素的行高。

于 2012-07-15T09:47:57.457 回答