谷歌Chrome计算价值怪异

时间:2014-08-10 11:33:49

标签: css google-chrome google-chrome-devtools

根据规范vertical-align,属性百分比是相对于元素本身的line-height属性。所以我做了一个测试,在Chrome开发工具中,计算值不像Firefox和IE11那样以像素为单位。这种行为很奇怪,我想知道这是一个bug还是?我知道Chrome中的所有其他值都是根据像素计算出来的,奇怪的是vertical-align不是按像素计算的。

以下是测试http://jsfiddle.net/blaja/r5m2yc7e/

1 个答案:

答案 0 :(得分:2)

propdef for vertical-align确实表示指定为百分比的值必须基于行高度(即像素值)计算为绝对长度。取决于浏览器定义"计算值"应该与CSS definition一致,这可能是也可能不是本身的错误

就此而言,所有三个浏览器似乎都错误地将line-height计算为绝对值。规范说如果指定的值是数字而不是长度,那么the computed value is the same as the specified value;它不应解析为绝对长度,除非它被指定为(或百分比)。在您的情况下,line-heightp元素上指定1.5span。这个相同的值应该由{{1}},然后继承,用于计算渲染线框所需的精确线高。结果行高是used value,而不是计算值