【发布时间】:2016-07-01 11:23:48
【问题描述】:
这是 Safari 和 Chrome/FireFox/Opera 之间的兼容性问题。
.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>
Safari 输出
Chrome / FireFox / Opera 输出
浏览器 |版本
--------|--------
野生动物园 | 9.1 (10601.5.17.4)
铬 | 51.0.2704.63(64 位)
火狐 | 46.0.1
歌剧 | 37.0.2178.43
标准文档http://www.w3.org/TR/css-flexbox-1/ 没有说明在多行弹性盒子中使用 max-width,除了横向。
参考:在How do I create a 3x3 grid via CSS?的讨论中发现了问题
【问题讨论】: