目录
文档地址
http://bs4.vx.link/index.html?tmpui_page=/pages/layout
设置列宽
.col
在任何尺寸下,占用剩下的空间.col-[n]
在任何尺寸下,占用指定的列数.col-[sm | md | lg | xl]
在指定的尺寸及以上,占用剩下的空间.col-[sm | md | lg | xs]-[n]
在指定的尺寸下,占用指定的列数
col
<!-- col -->
<div class="container">
<div class="row">
<div class="col" style="background-color: pink;">pink</div>
<div class="col" style="background-color: purple;">purple</div>
<div class="col" style="background-color: orange;">orange</div>
</div>
</div>
col-[n]
<!-- col-[n] -->
<div class="container">
<div class="row">
<div class="col-2" style="background-color: pink;">pink</div>
<div class="col-8" style="background-color: purple;">purple</div>
<div class="col-2" style="background-color: orange;">orange</div>
</div>
</div>
col-[breakpoint]
breakpoint
sm
md
lg
xl
<!-- col-[sm | md | lg | xl]
如果指定了小尺寸,没有指定大尺寸,则大尺寸延续小尺寸
如果指定了大尺寸,没有指定小尺寸,则小尺寸独占一行
-->
<div class="container">
<div class="row">
<div class="col-sm" style="background-color: pink;">pink</div>
<div class="col-md" style="background-color: purple;">purple</div>
<div class="col-lg" style="background-color: orange;">orange</div>
</div>
</div>
<hr />
<div class="container">
<div class="row">
<div class="col-sm-2" style="background-color: pink;">pink</div>
<div class="col-md-8" style="background-color: purple;">purple</div>
<div class="col-lg-2" style="background-color: orange;">orange</div>
</div>
</div>
可变宽度
根据内容的自然宽度调整列的大小。
.col-auto
在任何尺寸下,都根据内容来调整列的大小.col-[breakpoint]-auto
在指定尺寸及以上,根据内容来调整列的大小
col-auto
<div class="container">
<div class="row">
<div class="col-auto" style="background-color: pink;">pink</div>
<div class="col-auto" style="background-color: purple;">purple</div>
<div class="col-auto" style="background-color: orange;">orange</div>
</div>
</div>
col-[breakpoint]-auto
<div class="container">
<div class="row">
<div class="col-sm-auto" style="background-color: pink;">pink</div>
<div class="col-md-auto" style="background-color: purple;">purple</div>
<div class="col-lg-auto" style="background-color: orange;">orange</div>
<div class="col-xl-auto" style="background-color: aqua;">orange</div>
</div>
</div>
列间无间隙
.no-gutters
<!-- 无间隙 -->
<h1>无间隙</h1>
<div class="container">
<div class="row no-gutters">
<div class="col" style="background-color: pink;">pink</div>
<div class="col" style="background-color: purple;">purple</div>
<div class="col" style="background-color: orange;">orange</div>
</div>
</div>
混合排列
<h1>混合排列</h1>
<div class="container">
<div class="row">
<div class="col-sm-2" style="background-color: pink;">pink</div>
<div class="col col-md-8" style="background-color: purple;">purple</div>
<div class="col col-lg-2" style="background-color: orange;">orange</div>
</div>
</div>
列对齐
可以使用flex
布局中的工具类来对齐列
水平对齐
.justify-content-start
.justify-content-end
.justify-content-center
.justify-content-around
.justify-content-between
<h2>justify-content-start</h2>
<div class="container">
<div class="row justify-content-start">
<div class="col-2" style="background-color: aqua;">col-4</div>
<div class="col-2" style="background-color: pink;">col-2</div>
<div class="col-2" style="background-color: orange;">col-2</div>
</div>
</div>
<h2>justify-content-end</h2>
<div class="container">
<div class="row justify-content-end">
<div class="col-2" style="background-color: aqua;">col-4</div>
<div class="col-2" style="background-color: pink;">col-2</div>
<div class="col-2" style="background-color: orange;">col-2</div>
</div>
</div>
<h2>justify-content-center</h2>
<div class="container">
<div class="row justify-content-center">
<div class="col-2" style="background-color: aqua;">col-4</div>
<div class="col-2" style="background-color: pink;">col-2</div>
<div class="col-2" style="background-color: orange;">col-2</div>
</div>
</div>
<h2>justify-content-around</h2>
<div class="container">
<div class="row justify-content-around">
<div class="col-2" style="background-color: aqua;">col-4</div>
<div class="col-2" style="background-color: pink;">col-2</div>
<div class="col-2" style="background-color: orange;">col-2</div>
</div>
</div>
<h2>justify-content-between</h2>
<div class="container">
<div class="row justify-content-between">
<div class="col-2" style="background-color: aqua;">col-4</div>
<div class="col-2" style="background-color: pink;">col-2</div>
<div class="col-2" style="background-color: orange;">col-2</div>
</div>
</div>
垂直对齐
.align-items-start
.align-items-end
.align-items-center
整体对齐
<!-- 垂直对齐 -->
<h2>align-items-start</h2>
<div class="container" style="background-color: #ccc;">
<div class="row align-items-start" style="height: 500px;">
<div class="col-2" style="background-color: aqua;">col-4</div>
<div class="col-2" style="background-color: pink;">col-2</div>
<div class="col-2" style="background-color: orange;">col-2</div>
</div>
</div>
<hr />
<h2>align-items-end</h2>
<div class="container" style="background-color: #ccc;">
<div class="row align-items-end" style="height: 500px;">
<div class="col-2" style="background-color: aqua;">col-4</div>
<div class="col-2" style="background-color: pink;">col-2</div>
<div class="col-2" style="background-color: orange;">col-2</div>
</div>
</div>
<hr />
<h2>align-items-center</h2>
<div class="container" style="background-color: #ccc;">
<div class="row align-items-center" style="height: 500px;">
<div class="col-2" style="background-color: aqua;">col-4</div>
<div class="col-2" style="background-color: pink;">col-2</div>
<div class="col-2" style="background-color: orange;">col-2</div>
</div>
</div>
单个元素对齐
.align-self-start
.align-self-end
.align-self-center
<hr />
<h2>align-self-[start | center | end]</h2>
<div class="container" style="background-color: #ccc;">
<div class="row" style="height: 500px;">
<div class="col-2 align-self-start" style="background-color: aqua;">col-4</div>
<div class="col-2 align-self-center" style="background-color: pink;">col-2</div>
<div class="col-2 align-self-end" style="background-color: orange;">col-2</div>
</div>
</div>
列嵌套
<h2>列嵌套</h2>
<div class="container">
<div class="row">
<div class="col">
<div class="row">
<div class="col" style="background-color: pink;">pink</div>
<div class="col" style="background-color: orange;">orange</div>
<div class="col" style="background-color: aqua;">aqua</div>
</div>
</div>
</div>
</div>
列排序
.order-[n]
n
: 1 - 12,数字越小越优先。在任何尺寸下,都遵循这个顺序
.order-[breakpoint]-[n]
: 在指定尺寸及以上,遵循这个顺序.order-last
: -1,放在最后一列.order-first
: 13,放在第一列
order-[n]
<!-- order-[n] -->
<div class="container">
<div class="row">
<div class="col order-2" style="background-color: pink;">pink</div>
<div class="col order-1" style="background-color: orange;">orange</div>
</div>
</div>
order-[breakpoint]-[n]
<!-- order-[breakpoint]-[n] -->
<div class="container">
<div class="row">
<div class="col order-sm-1 order-md-3" style="background-color: pink;">pink</div>
<div class="col order-sm-2 order-md-1" style="background-color: orange;">orange</div>
<div class="col order-sm-3 order-md-2" style="background-color: green;">green</div>
</div>
</div>
order-first & order-last
<!-- order-first 和 order-last -->
<div class="container">
<div class="row">
<div class="col order-last" style="background-color: pink;">pink</div>
<div class="col order-first" style="background-color: orange;">orange</div>
<div class="col" style="background-color: green;">green</div>
</div>
</div>
列拆分
自动拆分
一行超过12
列,自动拆分
<h2>列拆分</h2>
<!-- 自动断
一行超过12列,自动断
-->
<div class="container">
<div class="row">
<div class="col-6" style="background-color: pink;">pink</div>
<div class="col-6" style="background-color: orange;">orange</div>
<div class="col-6" style="background-color: aqua;">aqua</div>
<div class="col-6" style="background-color: green;">green</div>
</div>
</div>
手动拆分
<!-- 手动断 -->
<div class="container">
<div class="row">
<div class="col-3" style="background-color: pink;">pink</div>
<div class="col-3" style="background-color: orange;">orange</div>
<div class="w-100"></div>
<div class="col-3" style="background-color: aqua;">aqua</div>
<div class="col-3" style="background-color: green;">green</div>
</div>
</div>
响应式拆分
<!-- 响应式断 -->
<div class="container">
<div class="row">
<div class="col-3" style="background-color: pink;">pink</div>
<div class="col-3" style="background-color: orange;">orange</div>
<div class="w-100 d-done d-md-block"></div>
<div class="col-3" style="background-color: aqua;">aqua</div>
<div class="col-3" style="background-color: green;">green</div>
</div>
</div>
列偏移
响应式offset
.offset-[n]
.offset-[breakpoint]-[n]
<!-- offset -->
<h1>列偏移</h1>
<div class="container">
<div class="row">
<div class="col-sm-4 offset-sm-4" style="background-color: orange;">orange</div>
<div class="col-sm-2 offset-2" style="background-color: green;">green</div>
</div>
</div>
工具类margin
.ml-auto
|.mr-auto
.ml-[breakpoint]-auto
|.mr-[breakpoint]-auto
<!-- margin -->
<div class="container">
<div class="row">
<div class="col-md-4" style="background-color: pink;">.col-md-4</div>
<div class="col-md-4 ml-auto" style="background-color: orange;">.col-md-4 .ml-auto</div>
</div>
<div class="row">
<div class="col-md-3 ml-md-auto" style="background-color: aqua;">.col-md-3 .ml-md-auto</div>
<div class="col-md-3 ml-md-auto" style="background-color: green;">.col-md-3 .ml-md-auto</div>
</div>
<div class="row">
<div class="col-md-3 ml-md-auto mr-md-auto" style="background-color: purple;">.col-md-3 .ml-md-auto</div>
</div>
</div>
整体代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, shrink-to-fit=no"/>
<title>00简单的bs4模板</title>
<!--<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">-->
<!-- 新 Bootstrap4 核心 CSS 文件 -->
<link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/css/bootstrap.min.css">
</head>
<body>
<pre class="">
breakpoint:
sm
md
lg
xl
设置列宽
可变宽度内容
无间隙
混合排列
对齐
列嵌套
列偏移
列排序
列拆分
</pre>
<table class="table">
<thead>
<tr>
<th></th>
<th class="text-center">
超小设备<br>
<small><576px</small>
</th>
<th class="text-center">
平板<br>
<small>≥576px</small>
</th>
<th class="text-center">
桌面显示器<br>
<small>≥768px</small>
</th>
<th class="text-center">
大桌面显示器<br>
<small>≥992px</small>
</th>
<th class="text-center">
超大桌面显示器<br>
<small>≥1200px</small>
</th>
</tr>
</thead>
<tbody>
<tr>
<th class="text-nowrap" scope="row">容器最大宽度</th>
<td>None (auto)</td>
<td>540px</td>
<td>720px</td>
<td>960px</td>
<td>1140px</td>
</tr>
<tr>
<th class="text-nowrap" scope="row">类前缀</th>
<td><code>.col-</code></td>
<td><code>.col-sm-</code></td>
<td><code>.col-md-</code></td>
<td><code>.col-lg-</code></td>
<td><code>.col-xl-</code></td>
</tr>
<tr>
<th class="text-nowrap" scope="row">列数量和</th>
<td colspan="5">12</td>
</tr>
<tr>
<th class="text-nowrap" scope="row">间隙宽度</th>
<td colspan="5">30px
(一个列的每边分别 15px)
</td>
</tr>
<tr>
<th class="text-nowrap" scope="row">可嵌套</th>
<td colspan="5">Yes</td>
</tr>
<tr>
<th class="text-nowrap" scope="row">列排序</th>
<td colspan="5">Yes</td>
</tr>
</tbody>
</table>
<!-- 设置列宽
col 在任何尺寸下,占用剩下的空间
col-[n] 在任何尺寸下,占用指定的列数
col-[sm | md | lg | xl] 在指定的尺寸及以上,占用剩下的空间
col-[sm | md | lg | xs]-[n] 在指定的尺寸下,占用指定的列数
-->
<!-- col -->
<div class="container">
<div class="row">
<div class="col" style="background-color: pink;">pink</div>
<div class="col" style="background-color: purple;">purple</div>
<div class="col" style="background-color: orange;">orange</div>
</div>
</div>
<hr />
<!-- col-[n] -->
<div class="container">
<div class="row">
<div class="col-2" style="background-color: pink;">pink</div>
<div class="col-8" style="background-color: purple;">purple</div>
<div class="col-2" style="background-color: orange;">orange</div>
</div>
</div>
<!-- col-[sm | md | lg | xl]
如果指定了小尺寸,没有指定大尺寸,则大尺寸延续小尺寸
如果指定了大尺寸,没有指定小尺寸,则小尺寸独占一行
-->
<div class="container">
<div class="row">
<div class="col-sm" style="background-color: pink;">pink</div>
<div class="col-md" style="background-color: purple;">purple</div>
<div class="col-lg" style="background-color: orange;">orange</div>
</div>
</div>
<hr />
<div class="container">
<div class="row">
<div class="col-sm-2" style="background-color: pink;">pink</div>
<div class="col-md-8" style="background-color: purple;">purple</div>
<div class="col-lg-2" style="background-color: orange;">orange</div>
</div>
</div>
<hr />
<!-- 可变宽度内容
根据内容的自然宽度调整列的大小。
.col-auto 在任何尺寸下,都根据内容来调整列的大小
.col-[breakpoint]-auto 在指定尺寸及以上,根据内容来调整列的大小
-->
<div class="container">
<div class="row">
<div class="col-auto" style="background-color: pink;">pink</div>
<div class="col-auto" style="background-color: purple;">purple</div>
<div class="col-auto" style="background-color: orange;">orange</div>
</div>
</div>
<hr />
<div class="container">
<div class="row">
<div class="col-sm-auto" style="background-color: pink;">pink</div>
<div class="col-md-auto" style="background-color: purple;">purple</div>
<div class="col-lg-auto" style="background-color: orange;">orange</div>
<div class="col-xl-auto" style="background-color: aqua;">orange</div>
</div>
</div>
<hr />
<!-- 无间隙 -->
<h1>无间隙</h1>
<div class="container">
<div class="row no-gutters">
<div class="col" style="background-color: pink;">pink</div>
<div class="col" style="background-color: purple;">purple</div>
<div class="col" style="background-color: orange;">orange</div>
</div>
</div>
<hr />
<h1>混合排列</h1>
<div class="container">
<div class="row">
<div class="col-sm-2" style="background-color: pink;">pink</div>
<div class="col col-md-8" style="background-color: purple;">purple</div>
<div class="col col-lg-2" style="background-color: orange;">orange</div>
</div>
</div>
<hr />
<!-- 对齐
使用 flexbox 对齐工具垂直和水平对齐列。
-->
<!-- 水平对齐 -->
<h2>justify-content-start</h2>
<div class="container">
<div class="row justify-content-start">
<div class="col-2" style="background-color: aqua;">col-4</div>
<div class="col-2" style="background-color: pink;">col-2</div>
<div class="col-2" style="background-color: orange;">col-2</div>
</div>
</div>
<hr />
<h2>justify-content-end</h2>
<div class="container">
<div class="row justify-content-end">
<div class="col-2" style="background-color: aqua;">col-4</div>
<div class="col-2" style="background-color: pink;">col-2</div>
<div class="col-2" style="background-color: orange;">col-2</div>
</div>
</div>
<hr />
<h2>justify-content-center</h2>
<div class="container">
<div class="row justify-content-center">
<div class="col-2" style="background-color: aqua;">col-4</div>
<div class="col-2" style="background-color: pink;">col-2</div>
<div class="col-2" style="background-color: orange;">col-2</div>
</div>
</div>
<h2>justify-content-around</h2>
<div class="container">
<div class="row justify-content-around">
<div class="col-2" style="background-color: aqua;">col-4</div>
<div class="col-2" style="background-color: pink;">col-2</div>
<div class="col-2" style="background-color: orange;">col-2</div>
</div>
</div>
<h2>justify-content-between</h2>
<div class="container">
<div class="row justify-content-between">
<div class="col-2" style="background-color: aqua;">col-4</div>
<div class="col-2" style="background-color: pink;">col-2</div>
<div class="col-2" style="background-color: orange;">col-2</div>
</div>
</div>
<hr />
<!-- 垂直对齐 -->
<h2>align-items-start</h2>
<div class="container" style="background-color: #ccc;">
<div class="row align-items-start" style="height: 500px;">
<div class="col-2" style="background-color: aqua;">col-4</div>
<div class="col-2" style="background-color: pink;">col-2</div>
<div class="col-2" style="background-color: orange;">col-2</div>
</div>
</div>
<hr />
<h2>align-items-end</h2>
<div class="container" style="background-color: #ccc;">
<div class="row align-items-end" style="height: 500px;">
<div class="col-2" style="background-color: aqua;">col-4</div>
<div class="col-2" style="background-color: pink;">col-2</div>
<div class="col-2" style="background-color: orange;">col-2</div>
</div>
</div>
<hr />
<h2>align-items-center</h2>
<div class="container" style="background-color: #ccc;">
<div class="row align-items-center" style="height: 500px;">
<div class="col-2" style="background-color: aqua;">col-4</div>
<div class="col-2" style="background-color: pink;">col-2</div>
<div class="col-2" style="background-color: orange;">col-2</div>
</div>
</div>
<hr />
<h2>align-self-[start | center | end]</h2>
<div class="container" style="background-color: #ccc;">
<div class="row" style="height: 500px;">
<div class="col-2 align-self-start" style="background-color: aqua;">col-4</div>
<div class="col-2 align-self-center" style="background-color: pink;">col-2</div>
<div class="col-2 align-self-end" style="background-color: orange;">col-2</div>
</div>
</div>
<hr />
<h2>列嵌套</h2>
<div class="container">
<div class="row">
<div class="col">
<div class="row">
<div class="col" style="background-color: pink;">pink</div>
<div class="col" style="background-color: orange;">orange</div>
<div class="col" style="background-color: aqua;">aqua</div>
</div>
</div>
</div>
</div>
<hr />
<h2>列拆分</h2>
<!-- 自动断
一行超过12列,自动断
-->
<div class="container">
<div class="row">
<div class="col-6" style="background-color: pink;">pink</div>
<div class="col-6" style="background-color: orange;">orange</div>
<div class="col-6" style="background-color: aqua;">aqua</div>
<div class="col-6" style="background-color: green;">green</div>
</div>
</div>
<hr />
<!-- 手动断 -->
<div class="container">
<div class="row">
<div class="col-3" style="background-color: pink;">pink</div>
<div class="col-3" style="background-color: orange;">orange</div>
<div class="w-100"></div>
<div class="col-3" style="background-color: aqua;">aqua</div>
<div class="col-3" style="background-color: green;">green</div>
</div>
</div>
<hr />
<!-- 响应式断 -->
<div class="container">
<div class="row">
<div class="col-3" style="background-color: pink;">pink</div>
<div class="col-3" style="background-color: orange;">orange</div>
<div class="w-100 d-done d-md-block"></div>
<div class="col-3" style="background-color: aqua;">aqua</div>
<div class="col-3" style="background-color: green;">green</div>
</div>
</div>
<hr />
<!-- 列排序
.order-[n],n: 1 - 12,数字越小越优先 在任何尺寸下,都遵循这个顺序
.order-[breakpoint]-[n]: 在指定尺寸及以上,遵循这个顺序
.order-last -1
.order-first 13
-->
<!-- order-[n] -->
<div class="container">
<div class="row">
<div class="col order-2" style="background-color: pink;">pink</div>
<div class="col order-1" style="background-color: orange;">orange</div>
</div>
</div>
<hr />
<!-- order-[breakpoint]-[n] -->
<div class="container">
<div class="row">
<div class="col order-sm-1 order-md-3" style="background-color: pink;">pink</div>
<div class="col order-sm-2 order-md-1" style="background-color: orange;">orange</div>
<div class="col order-sm-3 order-md-2" style="background-color: green;">green</div>
</div>
</div>
<hr />
<!-- order-first 和 order-last -->
<div class="container">
<div class="row">
<div class="col order-last" style="background-color: pink;">pink</div>
<div class="col order-first" style="background-color: orange;">orange</div>
<div class="col" style="background-color: green;">green</div>
</div>
</div>
<hr />
<!-- 列偏移
1. 使用offset
2. 使用margin
-->
<!-- offset -->
<h1>列偏移</h1>
<div class="container">
<div class="row">
<div class="col-sm-4 offset-sm-4" style="background-color: orange;">orange</div>
<div class="col-sm-2 offset-2" style="background-color: green;">green</div>
</div>
</div>
<!-- margin -->
<div class="container">
<div class="row">
<div class="col-md-4" style="background-color: pink;">.col-md-4</div>
<div class="col-md-4 ml-auto" style="background-color: orange;">.col-md-4 .ml-auto</div>
</div>
<div class="row">
<div class="col-md-3 ml-md-auto" style="background-color: aqua;">.col-md-3 .ml-md-auto</div>
<div class="col-md-3 ml-md-auto" style="background-color: green;">.col-md-3 .ml-md-auto</div>
</div>
<div class="row">
<div class="col-md-3 ml-md-auto mr-md-auto" style="background-color: purple;">.col-md-3 .ml-md-auto</div>
</div>
</div>
<!-- jQuery文件。务必在bootstrap.min.js 之前引入 -->
<script src="https://cdn.staticfile.org/jquery/3.2.1/jquery.min.js"></script>
<!-- bootstrap.bundle.min.js 用于弹窗、提示、下拉菜单,包含了 popper.min.js -->
<script src="https://cdn.staticfile.org/popper.js/1.15.0/umd/popper.min.js"></script>
<!-- 最新的 Bootstrap4 核心 JavaScript 文件 -->
<script src="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/js/bootstrap.min.js"></script>
</body>
</html>