SafariとChrome/FireFox/Operaの互換性の問題です。マルチラインフレックスボックスの子にmax-widthが与える影響は?
.grid {
display: flex; /* establish flex container */
flex-wrap: wrap; /* enable flex items to wrap */
}
.cell {
flex: 0 0 calc(33.33% - 10px); /* don't grow, don't shrink, width less margin */
height: 50px;
max-width: 50px; /* works only in Safari */
margin: 5px;
background-color: #999;
}
.cell:nth-child(3n) {
background-color: #F00;
}
<div class="grid">
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
</div>
サファリ出力
クロム/ FireFoxの/オペラ出力
ブラウザ|バージョン
-------- | --------
Safari | 9.1(10601.5.17.4)
クロム| 51.0.2704.63(64ビット)
FireFox | 46.0.1
Opera | 37.0.2178.43
標準ドキュメントhttp://www.w3.org/TR/css-flexbox-1/は、横方向に複数行を除いて、フレックスボックスが最大幅の使用に光を投げていませんでした。
参考:問題は、これはSafariのバグですHow do I create a 3x3 grid via CSS?