【发布时间】:2015-10-15 18:13:39
【问题描述】:
假设我有以下 标记
<div class="container">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>
以及以下样式 (SASS)
@mixin max-width($width) {
@media screen and (max-width: $width) {
@content;
}
}
.container {
display: flex;
@include max-width(992px) {
number: 4; //Hypothetical property that is supposed to control number per row
}
@include max-width(640px) {
number: 2; //Hypothetical property that is supposed to control number per row
}
}
.item {
background-color: tomato;
padding: 20px;
margin-right: 20px;
flex: 1;
}
是否有真正的 Flexbox CSS 替代我假设的 number 属性,可以控制每行显示多少项目?
类似浮点的网格很方便,因为width 可以容纳无限的.items 每个.row。但是对于 flexbox,我必须使用诸如众多 .row 类之类的变通方法来控制不同宽度的项目的布局和数量。到目前为止,我很幸运,但是某些类型的布局会因这种方法而失败。
【问题讨论】:
-
好吧,您仍然可以使用宽度来控制每行将获得多少项目——通过
flex-basis... -
CSS 网格将是今天以直截了当的方式解决这个问题的东西:developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout/…
标签: css sass flexbox media-queries