因此,假设我有以下 标记
<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
属性,可以控制每行显示多少项?
浮动式格栅是方便,因为你可以无限适合.items
每一个.row
因width
。但是使用flexbox时,我必须使用许多.row
类的变通方法来控制不同宽度的项目的布局和数量。到目前为止,我很幸运,但是某些类型的布局将因这种方法而失败。
我必须摆脱块周围的空白,因为很难将百分比宽度清楚地应用于具有空白的元素,但是您可以看到更改:
@mixin max-width($width) {
@media screen and (max-width: $width) {
@content;
}
}
.container {
position: relative;
display: flex;
flex-flow: row wrap;
}
.item {
background-color: tomato;
box-sizing: border-box;
padding: 20px;
outline: 2px solid blue;
flex: 1;
}
@include max-width(992px) {
.item {
flex-basis: 25%;
background-color: red;
}
}
@include max-width(640px) {
.item {
flex-basis: 50%;
background-color: green;
}
}
这里的重要部分是:
flex-flow: row wrap
它允许flexbox出现在多行中(默认为nowrap
)
flex-basis``width
在这种情况下等于
position: relative
这使得宽度相对于容器而不是主体(这会弄乱舍入)
问题内容: 我非常热衷于在CSS中使用媒体查询,但是我对如何使用它感到困惑。我有立场 我的查询要求是 如果屏幕宽度是100到480,那么会出现不同的样式, 如果屏幕宽度从481到600,那么会出现不同的样式, 如果屏幕宽度为601到800,那么会出现不同的样式, 如果屏幕宽度为801,则默认CSS应该有效。 问题答案:
问题内容: 我正在使用一个伸缩框来显示8个项目,这些项目将随我的页面动态调整大小。如何强制将项目分成两行?(每行4个)? 这是一个相关的片段: 问题答案: 您已经在容器上了。很好,因为它会覆盖默认值source。这是在某些情况下项目无法包装形成网格的原因。 在这种情况下,主要问题在于伸缩项目。 该属性实际上并没有设置弹性项目的大小。它的任务是在容器源中分配可用空间。因此,无论屏幕尺寸有多小,每一项
我正在使用一个flex框显示8个项目,这些项目将动态调整我的页面大小。如何强制它将项目拆分为两行?(每行4个)? 以下是相关片段: (或者如果您更喜欢jsfiddle-http://jsfidle.net/vivmaha/oq6prk1p/2/) null null
想象一下我有后续标记 和样式 由于某些原因,我无法更改的宽度,我是否可以通过对父容器进行样式化、使用flexbox或任何其他方式在每行中排列两个项目?
问题内容: 我正在使用Bootstrap 3构建响应式布局,在该布局中我想根据屏幕尺寸调整一些字体大小。我如何使用媒体查询来进行这种逻辑? 问题答案: 如果要保持一致,以下是BS3中使用的选择器: 注意:仅供参考,这可能对调试有用: 引导程序4 这是BS4中使用的选择器。 BS4中没有“最低”设置,因为“超小”是默认设置。 也就是说,您首先要编码XS大小,然后再覆盖这些媒体。 更新2019-02-
问题内容: 我现在有这个: 我想做的是在flexbox中每行有5个项目。目前,它们没有显示是因为它们没有设置宽度/高度,这使我想到了下一个问题。是否可以自动调整项目的大小,以便每行容纳5个项目? 我该怎么做? 谢谢! 问题答案: 您给出的a是正确的,但是您必须调整每个 flex项目 上的4px边距以使其正确 包装 。 最后一行的等宽Flex项目 用途-这表示商品的宽度不会超过宽度的20%(调整边距