【发布时间】:2016-11-07 01:33:08
【问题描述】:
在 Safari 中使用 box-sizing: border-box 时,在使用 height: 100% 和父元素上的填充时存在影响 img 元素高度的错误。
查看这个小提琴并在 Chrome/Firefox 与 Safari 上进行测试以查看差异:https://jsfiddle.net/Arko/66b9bt02/1/
以下是完整代码供参考:
HTML:
<div>
<img src="http://placehold.it/40x40">
</div>
CSS:
* {
box-sizing: border-box;
}
div {
padding: 15px;
height: 50px;
}
img {
height: 100%;
}
使用边框大小,img 高度应为 20px(50px div 高度减去 2x 15px 内边距)。这在 Chrome 和 Firefox 中是正确的。但 Safari 以 30px 的高度显示图像。
- 如果我们在宽度而不是高度进行测试,没问题。
- 如果我们删除填充或注释掉边框样式,没问题。
- 如果我们使用其他块元素(例如 div 而不是 img)来测试它,没有问题。
我发现没有报告此问题的其他实例。这是要报告的新 webkit 错误吗?还是我错过了什么?
(在 Safari 9.1.1 和 Webkit Nightly 202811 中测试)
【问题讨论】:
-
它在我的 Safari 5.1.7 中呈现 20px。
标签: css safari webkit height box-sizing