私は、float flexアイテムを含むflex containerにclearfix hackを追加しました。 Chrome(バージョン51.0.2704.84)とFirefox(バージョン47.0)では正常に動作しますが、Safari(バージョン9.1.1(11601.6.17))では動作しません。 3番目の項目は十分なスペースがあるだけでなく、2番目の行に移動します。私はそれがバグかどうか、それを回避する方法が不思議です。 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/
ご回答ありがとうございます。私はフロートがフレックスに影響しないことを理解しています。私は浮動小数点を使用する目的は、ちょうど(私は正しいかどうかはわかりません)フレックスをサポートしていないブラウザの場合.... divの幅が33.3333%に設定されていると思います.itは3つのdivs各行が必要です。 Safariには各行に2つのdivがあります。 pesudo要素がフレックスコンテナに影響を与える前のようです... –
私は擬似でいくつかの同様の問題を観察しています:後、クリアフィックスのコンテンツプロパティを無効にすると、オーバーフローの問題が消えて、それを戻して、問題が戻ってきます。 – danjah