我在学4以上的版本的bootstrap 所以:
1.布局系统:
容器类
Bootstrap 4 需要一个容器元素来包裹网站的内容。
我们可以使用以下两个容器类:
- .container 类用于固定宽度并支持响应式布局的容器。
- .container-fluid 类用于 100% 宽度,占据全部视口(viewport)的容器。
但 4.0以后的版本 自适应布局 还是以 移动优先的...
2.Bootstrap4 网格系统
Bootstrap 提供了一套响应式、移动设备优先的流式网格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多 12 列【最多12列】。
他也是移动优先.
1.他基于12列的布局,5种响应尺寸
2.完全采用flexbox流式布局构建的,完全支持响应式布局
3.具体采用di容器的行、列、和对齐内容来构建响应式布局。
具体:
网格类
Bootstrap 4 网格系统有以下 5 个类:
- .col- 针对所有设备
- .col-sm- 平板 - 屏幕宽度等于或大于 576px
- .col-md- 桌面显示器 - 屏幕宽度等于或大于 768px)
- .col-lg- 大桌面显示器 - 屏幕宽度等于或大于 992px)
- .col-xl- 超大桌面显示器 - 屏幕宽度等于或大于 1200px)
网格系统规则
Bootstrap4 网格系统规则:
- 网格每一行需要放在设置了
.container
(固定宽度) 或.container-fluid
(全屏宽度) 类的容器中,这样就可以自动设置一些外边距与内边距。 - 使用行来创建水平的列组。
- 内容需要放置在列中,并且只有列可以是行的直接子节点。
- 预定义的类如 .row 和 .col-sm-4 可用于快速制作网格布局。
- 列通过填充创建列内容之间的间隙。 这个间隙是通过 .rows 类上的负边距设置第一行和最后一列的偏移。
- 网格列是通过跨越指定的 12 个列来创建。 例如,设置三个相等的列,需要使用三个 .col-sm-4 来设置。
- Bootstrap 3 和 Bootstrap 4 最大的区别在于 Bootstrap 4 现在使用 flexbox(弹性盒子) 而不是浮动。 Flexbox 的一大优势是,没有指定宽度的网格列将自动设置为等宽与等高列 。 如果您想了解有关Flexbox的更多信息,可以阅读我们的CSS Flexbox教程。
- 超过12列会换行 而且不会补前
- .row表示一行 .clo-sm-* 表示*列
例:
<div class="container"> <div class="row"> <div class="col-sm-3">1</div> <div class="col-sm-3">2</div> <div class="col-sm-3">3</div> <div class="col-sm-3">4</div> <div class="col-sm-3">5</div> <!-- 这里就超过了 就会换行 因为 3*4=12 --> </div> </div>
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>网格系统</title> <!-- 新 Bootstrap4 核心 CSS 文件 --> <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/css/bootstrap.min.css"> <style> .col-sm-3{ border: 1px solid rebeccapurple; } </style> </head> <body> <div class="container-fluid"> <!-- 这种模式会占据100%宽 --> <div class="row"> <div class="col-sm-3">1</div> <div class="col-sm-3">2</div> <div class="col-sm-3">3</div> <div class="col-sm-3">4</div> <div class="col-sm-3">5</div> <!-- 这里就超过了 就会换行 因为 3*4=12 --> </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>
<div class="container"> <!-- 这种模式会占据100%宽 --> <div class="row"> <div class="col">1</div> <div class="col">2</div> <div class="col">3</div> <div class="col">4</div> <div class="col">5</div> <!-- col是适应全部就不会超行了 会自动计算 --> </div> </div>
自己多去尝试网格类,多实践即可。