1
我在flex容器中添加了clearfix hack,其中包含float flex項目。它適用於Chrome(版本51.0.2704.84)和Firefox(版本47.0),但在Safari(版本9.1.1(11601.6.17))中不起作用。第三項將進入第二排以及有足夠的空間。我想知道這是否是一個錯誤,以及如何解決它。safari flex不能與clearfix hack一起工作
* {
box-sizing: border-box;
}
#container {
display: flex;
flex-wrap: wrap;
width: 800px;
border: 1px solid #dcdcdc;
}
/* its me who make this magic */
#container:before {
content: " ";
display: table;
}
#container:after {
clear: both;
}
#container > div {
float: left;
width: 33.3333333%;
height: 100px;
padding: 0 15px;
background-color: #dcdcdc;
display: flex;
position: relative;
}
<div id="container">
<div>xxx</div>
<div>ooooo</div>
<div>nmn</div>
<div>sdfsdf</div>
</div>
https://jsfiddle.net/3ghwm4ua/8/
謝謝你的回答。我知道浮動不會影響flex。我認爲使用float的目的是爲了防止瀏覽器不支持flex(我不確定我是否正確)....當div寬度設置爲33.3333%時,它應該有每行3個div。但在Safari中每行有2個div。看起來像pesudo元素之前對flex容器有影響... –
我正在觀察一些與僞相似的問題:之後,當禁用clearfix hack的內容屬性 - 溢出問題消失後,將其重新引入並返回問題。 – danjah