尝试使用弯曲:
显示
这定义了一个弹性容器;内联或块取决于给定的值。它为其所有直接子项启用了弹性上下文:
.container {
display: flex; /* or inline-flex */
}
弯曲方向
这建立了主轴,从而定义了弹性项目放置在弹性容器中的方向。 Flexbox 是(除了可选的包装)一个单向布局概念。将 flex 项视为主要以水平行或垂直列布局:
.container {
flex-direction: row | row-reverse | column | column-reverse;
}
- 行(默认):在ltr中从左到右; rtl 从右到左
- row-reverse:在 ltr 中从右到左; rtl 从左到右
- 列:与行相同,但从上到下
- column-reverse:与 row-reverse 相同,但从下到上
弹性包装
默认情况下,弹性项目将全部尝试放在一行中。您可以更改它并允许使用此属性根据需要包装项目。方向在这里也起作用,确定新线的堆叠方向。
.container{
flex-wrap: nowrap | wrap | wrap-reverse;
}
- nowrap(默认):在 ltr 中单行/从左到右; rtl 从右到左
- 换行:在 ltr 中多行/从左到右; rtl 从右到左
- wrap-reverse:在 ltr 中多行/从右到左; rtl 从左到右
调整内容
这定义了沿主轴的对齐方式。当一行上的所有 flex 项目都不灵活,或者是灵活的但已达到最大大小时,它有助于分配剩余的额外可用空间。当项目溢出行时,它还会对项目的对齐方式施加一些控制。
.container {
justify-content: flex-start | flex-end | center | space-between | space-around;
}
对齐项目
这定义了弹性项目如何沿当前行的交叉轴布局的默认行为。将其视为横轴(垂直于主轴)的 justify-content 版本。
.container {
align-items: flex-start | flex-end | center | baseline | stretch;
}
- flex-start:项目的cross-start边距边缘放置在cross-start线上
- flex-end:项目的cross-end margin边缘放置在cross-end线上
- center:项目在横轴上居中
- 基线:项目对齐,例如它们的基线对齐
- 拉伸(默认):拉伸以填充容器(仍然尊重最小宽度/最大宽度)
对齐内容
这会在横轴上有额外空间时对齐 flex 容器的线条,类似于 justify-content 如何在主轴内对齐单个项目。
.container {
align-content: flex-start | flex-end | center | space-between | space-around | stretch;
}
- flex-start:打包到容器开头的行
- flex-end:行打包到容器的末尾
- center:排列到容器中心的行
- space-between:线条均匀分布;第一行在容器的开头,最后一行在结尾
- space-around:行均匀分布,每行周围的空间相等
- 拉伸(默认):线条拉伸以占用剩余空间
按照上面的方法,尝试在你的代码中使用类似的东西:
<div class="container">
<button>div1</button>
<button>div1</button>
</div
@media only screen and (max-width: 500px) {
.container {
display: flex;
flex-wrap: wrap;
flex-direction: row;
justify-content: space-around;
align-items: center
}
}
我还为你准备了sn-p让你玩。
.container {
display: flex;
flex-wrap: wrap;
flex-direction: row;
justify-content: space-around;
align-items: center
}
<div class="container">
<button>div1</button>
<button>div1</button>
</div>
更多关于 flex 的信息(包括示例),您可以找到 here