目录
bootstrap 来自Twitter (推特),他是基于HTML、CSS、JavaScript的,使web开发更加快捷
3.x.x:放弃ie6-7,对ie8支持但界面效果不好,偏向于开发响应式、移动设备优先的web项目
4.x.x: 放弃了对 IE8 以及 iOS 6 的支持,现在仅仅支持 IE9 以上 以及 iOS 7 以上版本的浏览器,Bootstrap.min.css 的体积减少了40%以上。
5.x.x:最新版,最新稳定版本浏览器,但不支持 Internet Explorer 11 及以下版本,主要区别在于 Bootstrap5 不再依赖 jQuery,使用了原生的 JavaScript
- <!-- 新 Bootstrap5 核心 CSS 文件 -->
- <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/5.1.1/css/bootstrap.min.css">
-
- <!-- popper.min.js 用于弹窗、提示、下拉菜单 -->
- <script src="https://cdn.staticfile.org/popper.js/2.9.3/umd/popper.min.js"></script>
-
- <!-- 最新的 Bootstrap5 核心 JavaScript 文件 -->
- <script src="https://cdn.staticfile.org/twitter-bootstrap/5.1.1/js/bootstrap.min.js"></script>
bootstrap 为页面内容和栅格系统包裹的一个.container容器,.container 类用于固定宽度并支持响应式布局的容器

注意:宽度 (max-width) 会根据屏幕宽度同比例放大或缩小。
.container-fluid 类用于 100% 宽度,占据全部视口(viewport)的容器,适合单独做移动端开发
网格系统会随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多 12 列。
bootstrap 里面contain宽度是固定的,但是不同屏幕下,contain的宽度不同
参数通过行和列的组合来创建页面布局

- <!DOCTYPE html>
- <html lang="en">
-
- <head>
- <meta charset="UTF-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Document</title>
- <link href="https://cdn.staticfile.org/twitter-bootstrap/5.1.1/css/bootstrap.min.css" rel="stylesheet">
- <script src="https://cdn.staticfile.org/twitter-bootstrap/5.1.1/js/bootstrap.bundle.min.js"></script>
- </head>
- <style>
- .row div {
- border: 1px solid red;
- }
- </style>
-
- <body>
- <div class="container">
- <div class="row">
- <div class="col-xxl-3">1</div>
- <div class="col-xxl-3">1</div>
- <div class="col-xxl-3">1</div>
- <div class="col-xxl-3">1</div>
- </div>
- <div class="row">
- <div class="col-lg-2">2</div>
- <div class="col-lg-2">2</div>
- <div class="col-lg-2">2</div>
- </div>
- <div class="row">
- <div class="col-lg-2">2</div>
- <div class="col-lg-2">2</div>
- <div class="col-lg-2">2</div>
- <div class="col-lg-7">2</div>
- </div>
- </div>
- </body>
-
- </html>
效果:

栅格系统将内容再次嵌套,可以使用一个新的.row元素,和一系列.col-cm-*元素
加row可以取消父元素的padding值,高度和父级一样
使用 offset-md-*类可以将列向右侧偏移,实际是使用*选择去为当前元素添加左侧的边距
- <!DOCTYPE html>
- <html lang="en">
-
- <head>
- <meta charset="UTF-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Document</title>
- <link href="https://cdn.staticfile.org/twitter-bootstrap/5.1.1/css/bootstrap.min.css" rel="stylesheet">
- <script src="https://cdn.staticfile.org/twitter-bootstrap/5.1.1/js/bootstrap.bundle.min.js"></script>
- <style>
- .col-sm-4 {
- background-color: yellow;
- }
- </style>
- </head>
-
- <body>
- <!-- 列偏移 -->
- <div class="container">
- <div class="row">
- <div class="col-sm-4">1</div>
- <div class="col-sm-4 offset-sm-4">2</div>
- </div>
- </div>
- </body>
-
- </html>

一个盒子,也可以用列偏移实现水平居中的效果
.col-md-push-* 向左拉
.col-md-pull-* 向右推
上面两个类可以改变列的顺序
.d-*-none 类 为元素添加类 d-none,将在所有设备中隐藏该元素如 .d-sm-none
当设置了小屏幕隐藏之后,默认小屏幕以及之上的所有屏幕都会默认隐藏。所以添加d-*-block进行显示操作