在Safari中使用box-sizing: border-box
时,在使用img
和父元素上的填充时,会出现影响height: 100%
元素高度的错误。
看到这个小提琴并在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的高度显示图像。
我发现没有报告此问题的其他实例。这是一个新的webkit bug报告吗?或者我错过了什么?
(在Safari 9.1.1和Webkit Nightly 202811中测试)
答案 0 :(得分:2)
为高度为100%的图像添加包装,填充0:
https://jsfiddle.net/vgdz2Loj/
<div>
<div class="wrapper">
<img src="http://placehold.it/40x40">
</div>
</div>
.wrapper {
height: 100%;
padding: 0;
}