Bootstrap简介

Bootstrap,来自 Twitter,是目前最受欢迎的一个用于快速开发 Web 应用程序和网站的前端框架。Bootstrap 基于 HTML、CSS、JAVASCRIPT ,它简洁灵活,使得 Web 开发更加快捷。

有哪些优势:

  1. 移动设备优先:自 Bootstrap 3 起,框架包含了贯穿于整个库的移动设备优先的样式。
  2. 浏览器支持:所有的主流浏览器都支持 Bootstrap。
  3. 容易上手:只要您具备 HTML 和 CSS 的基础知识,您就可以开始学习 Bootstrap。
  4. 响应式设计:Bootstrap 的响应式 CSS 能够自适应于台式机、平板电脑和手机。更多有关响应式设计的内容详见 Bootstrap 响应式设计。

Bootstrap使用

1. 下载并创建HTML

首先去下载用于生产环境的 Bootstrap,解压到项目文件夹。

一个使用了 Bootstrap 的基本的 HTML 模板如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>标题</title>
<meta charset="UTF-8">
<!-- 要求当前网页使用IE浏览器最高版本的内核来渲染 -->
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- 视口的设置:视口的宽度和设备一致,默认的缩放比例和PC端一致,最大缩放值也是1倍,用户不能自行缩放 -->
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1, user-scalable=no">
<link rel="stylesheet" href="./bootstrap/css/bootstrap.min.css" crossorigin="anonymous">
<!-- HTML5 Shiv 和 Respond.js 用于让 IE8 支持 HTML5元素和媒体查询 -->
<!-- 注意: 如果通过 file:// 引入 Respond.js 文件,则该文件无法起效果 -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
</head>
<body>
<h1>Hello, world!</h1>

<!-- jQuery (Bootstrap 的 JavaScript 插件需要引入 jQuery) -->
<script src="https://code.jquery.com/jquery.js"></script>
<!-- 包括所有已编译的插件 -->
<script src="./bootstrap/js/bootstrap.min.js"></script>
</body>
</html>

2. 使用并修改CSS

查看Bootstrap全局 CSS 样式文档,在页面中使用并可以直接书写CSS进行自定义的覆盖。

3. 布局容器

https://www.bilibili.com/video/BV1pE411q7FU?p=494

(1) container类

1
2
3
<div class="container">
...
</div>
  • 响应式布局的容器,固定宽度
  • 大屏(>= 122px)宽度定为1170px
  • 大屏(>= 992px)宽度定为970px
  • 大屏(>= 768px)宽度定为750px
  • 超小屏(100%)

(2) container-fluid类

1
2
3
<div class="container-fluid">
...
</div>
  • 流式布局容器,百分百宽度
  • 占据全部视口(viewport)的容器
  • 适合于单独做移动端开发

Bootstrap栅格系统

1. 栅格系统原理

栅格系统,英文为Grid systems,也翻译为“网格系统”,它是指将页面布局划分为等宽的列,然后通过列数的定义来模块化页面布局。Bootstrap提供了一套响应式、移动设备优先的流式栅格系统,随着屏幕或视口(viewport)尺对的增加,系统会自动分为最多12列。Bootstrap里面container宽度是固定的,但是不同屏幕下, container的宽度不同,我们再把container划分为12等份。

2. 栅格选项参数

栅格系统参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<div class="container">
<div class="row">
<div class="col-lg-3 col-md-1">1</div>
<div class="col-lg-3 col-md-1">2</div>
<div class="col-lg-3 col-md-1">3</div>
<div class="col-lg-3 col-md-1">4</div>
</div>
<div class="row">
<div class="col-lg-6 col-md-1">1</div>
<div class="col-lg-2 col-md-1">2</div>
<div class="col-lg-2 col-md-1">3</div>
<div class="col-lg-2 col-md-1">4</div>
</div>
</div>

为了可以使每个栅格块有个边框看着更直观,可以在页面开头添加CSS:

1
2
3
4
5
6
<style>
/* 使class类名开头为col的都加上边框 */
[class^="col"] {
border: 1px solid #ccc;
}
</style>
  • 如果孩子的份数相加等于12,则孩子能占满整个 container 的宽度
  • 如果孩子的份数相加小于12,则孩子占不满整个 container 的宽度,会有空白
  • 如果孩子的份数相加大于12,则多于的孩子会另起一行显示

参考内容: