目录
3、可变宽度内容 col-{ breakpoint }-auto
2、向水平方向堆叠 Stacked to horizontal
导读:大屏案例参考
网格grid 使用一系列 容器container、行row 和 列column 来布局和对齐内容。
一、最简单的例子
这个例子使用 类grid 创建3个 等宽列column,平均分布在父容器container 中。
<div class="container" style="border: 5px red solid; ">
<div class="row" style="border: 5px blue solid; ">
<div class="col" style="border: 5px green solid;">
Column1
</div>
<div class="col" style="border: 5px green solid;">
Column2
</div>
<div class="col" style="border: 5px green solid;">
Column3
</div>
</div>
</div>
二、网格grid特性
- 网格grid 支持六个响应性breakpoint断点。None(X-Small),sm(Small), md(Medium),lg(Large),xl(Extra large),xxl(Extra extra large)。
- container容器 水平居中的填充内容。
- row行是column列的包装器。每个列都有水平填充 gutter槽 ,用于控制它们之间的空间。
- column列可以灵活组合。每行row共有12个列,这些列可以任意数量组合。
- Gutters槽可以跨所有 breakpoint断点使用。
三、自动布局列
1、列自动等宽度 col
<div class="container" style="border: 5px red solid; ">
<div class="row" style="border: 5px blue solid; ">
<div class="col" style="border: 5px green solid;">
Column1
</div>
<div class="col" style="border: 5px green solid;">
Column2
</div>
</div>
</div>
<div class="container" style="border: 5px red solid; ">
<div class="row" style="border: 5px blue solid; ">
<div class="col" style="border: 5px green solid;">
Column1
</div>
<div class="col" style="border: 5px green solid;">
Column2
</div>
<div class="col" style="border: 5px green solid;">
Column3
</div>
<div class="col" style="border: 5px green solid;">
Column4
</div>
</div>
</div>
2、设置某一列宽度,其余列自动等宽度
将第2列设置为col-6,其余1,3,4等宽分配。
<div class="container" style="border: 5px red solid; ">
<div class="row" style="border: 5px blue solid; ">
<div class="col" style="border: 5px green solid;">
Column1
</div>
<div class="col-6" style="border: 5px green solid;">
Column2(6)
</div>
<div class="col" style="border: 5px green solid;">
Column3
</div>
<div class="col" style="border: 5px green solid;">
Column4
</div>
</div>
</div>
3、可变宽度内容 col-{ breakpoint }-auto
使用 col-{ breakpoint }-auto 类根据内容宽度来设置列宽度。
可以看到 col-md-auto 类的列宽是根据内容Variable width的内容宽度自适应的,col类 的列宽是根据 container容器的剩余宽度自适应的。
<div class="container" style="border: 5px red solid">
<div class="row justify-content-md-center" style="border: 5px blue solid">
<div class="col col-lg-2" style="border: 5px green solid">
1 of 3
</div>
<div class="col-md-auto" style="border: 5px green solid">
Variable width
</div>
<div class="col col-lg-2" style="border: 5px green solid">
3 of 3
</div>
</div>
<div class="row" style="border: 5px blue solid">
<div class="col" style="border: 5px green solid">
1 of 3
</div>
<div class="col-md-auto" style="border: 5px green solid">
Variable width
</div>
<div class="col col-lg-2" style="border: 5px green solid">
3 of 3
</div>
</div>
</div>
四、响应类Responsive classes
Bootstrap 的网格包括6个预定义类,用于构建复杂的响应式布局。在您认为合适的超小、小、中、大、超大或超超大设备上自定义列的大小。
1、所有断点 breakpoint col-x(1-12)
<div class="container" style="border: 5px red solid">
<div class="row justify-content-md-center" style="border: 5px blue solid">
<div class="col" style="border: 5px green solid">
1
</div>
<div class="col" style="border: 5px green solid">
2
</div>
<div class="col" style="border: 5px green solid">
3
</div>
</div>
<div class="row" style="border: 5px blue solid">
<div class="col-8" style="border: 5px green solid">
1
</div>
<div class="col-4" style="border: 5px green solid">
2
</div>
</div>
</div>
2、向水平方向堆叠 Stacked to horizontal
<div class="container" style="border: 5px red solid">
<div class="row" style="border: 5px blue solid">
<div class="col-sm" style="border: 5px green solid">
1
</div>
<div class="col-sm" style="border: 5px green solid">
2
</div>
<div class="col-sm" style="border: 5px green solid">
3
</div>
</div>
<div class="row" style="border: 5px blue solid">
<div class="col-sm-8" style="border: 5px green solid">
1
</div>
<div class="col-sm-4" style="border: 5px green solid">
2
</div>
</div>
</div>
3、Row columns 行列
使用 row-cols-2 指定每行row包含的列数column。
<div class="container" style="border: 5px red solid">
<div class="row row-cols-2" style="border: 5px blue solid">
<div class="col" style="border: 5px green solid">
1
</div>
<div class="col" style="border: 5px green solid">
2
</div>
<div class="col" style="border: 5px green solid">
3
</div>
<div class="col" style="border: 5px green solid">
4
</div>
</div>
</div>
五、嵌套布局 Nesting
要使用默认网格grid嵌套内容,请在column列中添加一个新的row,然后在这个新的row中继续添加column即可。
<div class="container" style="border: 5px red solid">
<div class="row row-cols-2" style="border: 5px blue solid">
<div class="col" style="border: 5px green solid">
1 层
</div>
<div class="col" style="border: 5px green solid">
<div class="row">
<div class="col-8" style="border: 5px purple solid">
2 层
</div>
<div class="col-4" style="border: 5px purple solid">
2 层
</div>
</div>
</div>
<div class="col" style="border: 5px green solid">
3
</div>
<div class="col" style="border: 5px green solid">
4
</div>
</div>
</div>