[[toc]]
Bootstrap3 环境搭建
下载依赖文件
快速搭建Bootstrap项目
1.将下载好的Bootstrap压缩包解压到项目目录中
2.在index.html
中键入如下代码进行引入
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Bootstrap3环境搭建</title>
<link rel="stylesheet" href="./bootstrap-3.4.1-dist/css/bootstrap.min.css">
</head>
<body>
<h1>你好,Bootstrap3</h1>
<script src="./bootstrap-3.4.1-dist/js/bootstrap.min.js"></script>
</body>
</html>
Bootstrap3 栅格系统
布局容器
- 固定宽度并支持响应式布局的容器
<div class="container">
...
</div>
- 100% 宽度,占据全部视口(viewport)的容器
<div class="container-fluid">
...
</div>
注意:这两个容器不能相互嵌套
行
.row
为行,.row
必须包含在.container
或 .container-fluid
中
<div class="container">
<div class="row">
...
</div>
<div class="row">
...
</div>
</div>
列
列有4类,适用于4种不同的屏幕,具体类与尺寸如下表,列必须放在.row
中,并且,.row
中只能放置列
类 | 尺寸说明 |
---|---|
.col-xs-* | 手机 (<768px) |
.col-sm-* | 平板 (≥768px) |
.col-md-* | 桌面 (≥992px) |
.col-lg-* | 桌面 (≥1200px) |
每行有12列,可以通过数字调整列宽
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Bootstrap3</title>
<link href="bootstrap-3.3.7-dist/css/bootstrap.min.css" rel="stylesheet">
<style type="text/css">
.row{
margin-bottom: 10px;}
.row div{
border: 1px solid red;}
</style>
</head>
<body>
<div class="container-fluid">
<div class="row">
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
</div>
<div class="row">
<div class="col-md-2">.col-md-2</div>
<div class="col-md-2">.col-md-2</div>
<div class="col-md-2">.col-md-2</div>
<div class="col-md-2">.col-md-2</div>
<div class="col-md-2">.col-md-2</div>
<div class="col-md-2">.col-md-2</div>
</div>
<div class="row">
<div class="col-md-3">.col-md-3</div>
<div class="col-md-3">.col-md-3</div>
<div class="col-md-3">.col-md-3</div>
<div class="col-md-3">.col-md-3</div>
</div>
<div class="row">
<div class="col-md-4">.col-md-4</div>
<div class="col-md-4">.col-md-4</div>
<div class="col-md-4">.col-md-4</div>
</div>
<div class="row">
<div class="col-md-5">.col-md-5</div>
<div class="col-md-5">.col-md-5</div>
<div class="col-md-2">.col-md-2</div>
</div>
<div class="row">
<div class="col-md-6">.col-md-6</div>
<div class="col-md-6">.col-md-6</div>
</div>
<div class="row">
<div class="col-md-7">.col-md-7</div>
<div class="col-md-5">.col-md-5</div>
</div>
<div class="row">
<div class="col-md-8">.col-md-8</div>
<div class="col-md-4">.col-md-4</div>
</div>
<div class="row">
<div class="col-md-9">.col-md-9</div>
<div class="col-md-3">.col-md-3</div>
</div>
<div class="row">
<div class="col-md-10">.col-md-10</div>
<div class="col-md-2">.col-md-2</div>
</div>
<div class="row">
<div class="col-md-11">.col-md-11</div>
<div class="col-md-1">.col-md-1</div>
</div>
<div class="row">
<div class="col-md-12">.col-md-12</div>
</div>
</div>
<script src="jquery.min.js"></script>
<script src="bootstrap-3.3.7-dist/js/bootstrap.min.js"></script>
</body>
</html>
如果总列数超出12列,则超出列将进行流式布局,在下一行显示
<div class="container-fluid">
<div class="row">
<div class="col-md-7">.col-md-7</div>
<div class="col-md-7">.col-md-7</div>
</div>
</div>
如果列中设置了针对不同屏幕的类,则到达小屏幕的临界值时会使用小屏幕类,而大屏幕类将会失效
<div class="container-fluid">
<div class="row">
<div class="col-xs-2 col-md-4">自适应屏幕</div>
<div class="col-xs-2 col-md-4">自适应屏幕</div>
<div class="col-xs-8 col-md-4">自适应屏幕</div>
</div>
</div>
.col-*-offset-*
将列向右偏移
<div class="row">
<div class="col-md-2 col-md-offset-4">col-md-offset-4</div>
</div>
.col-*-push-*
将列向右推
.col-*-pull-*
将列向左拉
<div class="row">
<div class="col-md-9 col-md-push-3">.col-md-9 .col-md-push-3</div>
<div class="col-md-3 col-md-pull-9">.col-md-3 .col-md-pull-9</div>
</div>
针对不同屏幕尺寸隐藏或显示页面内容
超小屏幕 手机 (<768px) |
小屏幕 平板 (≥768px) |
中等屏幕 桌面 (≥992px) |
大屏幕 桌面 (≥1200px) |
---|---|---|---|
.visible-xs-* | 可见 | 隐藏 | 隐藏 |
.visible-sm-* | 隐藏 | 可见 | 隐藏 |
.visible-md-* | 隐藏 | 隐藏 | 可见 |
.visible-lg-* | 隐藏 | 隐藏 | 隐藏 |
.hidden-xs | 隐藏 | 可见 | 可见 |
.hidden-sm | 可见 | 隐藏 | 可见 |
.hidden-md | 可见 | 可见 | 隐藏 |
.hidden-lg | 可见 | 可见 | 可见 |
Bootstrap3 全局类
排版
文本对齐类
<p class="text-left">文本左对齐</p>
<p class="text-center">文本居中对齐</p>
<p class="text-right">文本右对齐</p>
<p class="text-justify">文本两端对齐</p>
<p class="text-nowrap">文本不换行</p>
文本的大小写类
<p class="text-lowercase">文本全小写</p>
<p class="text-uppercase">文本全大写</p>
<p class="text-capitalize">文本首字母大写,其余字母小写</p>
让引用内容右对齐
<blockquote class="blockquote-reverse">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.</p>
<footer>Someone famous in <cite title="Source Title">Source Title</cite></footer>
</blockquote>
移除列表默认样式
<ul class="list-unstyled">
<li>list</li>
<li>list</li>
<li>list</li>
<li>list</li>
</ul>
让列表项水平排列
<ul class="list-inline">
<li>list</li>
<li>list</li>
<li>list</li>
<li>list</li>
</ul>
让dt和dd水平排列
<dl class="dl-horizontal">
<dt>dt-description</dt>
<dd>dd-description</dd>
</dl>
表格
基本表格
<table class="table">
...
</table>
条纹状表格
<table class="table table-striped">
...
</table>
带边框的表格
<table class="table table-bordered">
...
</table>
让表格支持鼠标悬停
<table class="table table-hover">
...
</table>
让表格更加紧凑
<table class="table table-condensed">
...
</table>
设置行或单元格的背景颜色
<tr class="active">...</tr>
<tr class="success">...</tr>
<tr class="warning">...</tr>
<tr class="danger">...</tr>
<tr class="info">...</tr>
<tr>
<td class="active">鼠标悬停在行或单元格上时所设置的颜色</td>
<td class="success">标识成功或积极的动作</td>
<td class="warning">标识警告或需要用户注意</td>
<td class="danger">标识危险或潜在的带来负面影响的动作</td>
<td class="info">标识普通的提示信息或动作</td>
</tr>
响应式表格
<div class="table-responsive">
<table class="table">
...
</table>
</div>
表单
普通表单
<form action='...' method='...'>
<div class="form-group">
<label for="...">输入框</label>
<input type="text" class="form-control" id="..."/>
</div>
<div class="form-group">
<label for="...">密码框</label>
<input type="password" class="form-control" id="..."/>
</div>
<div class="form-group">
<label for="...">文件上传</label>
<input type="file" id="...">
<p class="help-block">帮助信息</p>
</div>
<div class="checkbox">
<label>
<input type="checkbox"/> 复选框
</label>
</div>
<button type="submit" class="btn btn-default">提交按钮</button>
</form>
内联表单
<form class="form-inline">
...
</form>
将label隐藏
<div class="form-group">
<label class="sr-only" for="...">邮箱地址</label>
<input type="email" class="form-control" id="..." placeholder="邮箱"/>
</div>
输入框组
<form class="form-inline">
<div class="form-group">
<label class="sr-only" for="...">...</label>
<div class="input-group">
<div class="input-group-addon">$</div>
<input type="text" class="form-control" id="..." placeholder="金额"/>
<div class="input-group-addon">.00</div>
</div>
</div>
</form>
label和控件水平对齐
<form class="form-horizontal">
<div class="form-group">
<label for="..." class="col-sm-2 control-label">Email</label>
<div class="col-sm-10">
<input type="email" class="form-control" id="..." placeholder="Email">
</div>
</div>
<div class="form-group">
<label for="..." class="col-sm-2 control-label">Password</label>
<div class="col-sm-10">
<input type="password" class="form-control" id="..." placeholder="Password">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<div class="checkbox">
<label>
<input type="checkbox"/> Remember me
</label>
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-default">Sign in</button>
</div>
</div>
</form>
复选框
垂直排列
<div class="checkbox">
<label>
<input type="checkbox" value=""/>
Option one is this and that—be sure to include why it's great
</label>
</div>
<div class="checkbox disabled">
<label>
<input type="checkbox" value="" disabled="disabled"/>
Option two is disabled
</label>
</div>
水平排列
<label class="checkbox-inline">
<input type="checkbox" id="..." value="option1".> 1
</label>
<label class="checkbox-inline">
<input type="checkbox" id="..." value="option2".> 2
</label>
<label class="checkbox-inline">
<input type="checkbox" id="..." value="option3".> 3
</label>
不带label文本
<div class="checkbox">
<label>
<input type="checkbox" id="..." value="..." aria-label="..."/>
</label>
</div>
单选按钮
垂直排列
<div class="radio">
<label>
<input type="radio" name="..." id="..." value="..." checked/>
Option one is this and that—be sure to include why it's great
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="..." id="..." value="..."/>
Option two can be something else and selecting it will deselect option one
</label>
</div>
<div class="radio disabled">
<label>
<input type="radio" name="..." id="..." value="..." disabled='disabled'/>
Option three is disabled
</label>
</div>
水平排列
<label class="radio-inline">
<input type="radio" name="..." id="..." value="..."/> 1
</label>
<label class="radio-inline">
<input type="radio" name="..." id="..." value="..."/> 2
</label>
<label class="radio-inline">
<input type="radio" name="..." id="..." value="..."/> 3
</label>
不带label文本
<div class="radio">
<label>
<input type="radio" name="..." id="..." value="..." aria-label="..."/>
</label>
</div>
给表单控件添加校验颜色
<div class="form-group has-success">
<label class="control-label" for="...">成功</label>
<input type="text" class="form-control" id="..."/>
</div>
<div class="form-group has-warning">
<label class="control-label" for="...">警告</label>
<input type="text" class="form-control" id="..."/>
</div>
<div class="form-group has-error">
<label class="control-label" for="...">错误</label>
<input type="text" class="form-control" id="..."/>
</div>
给输入框添加额外的图标
标题与控件垂直排列
<div class="form-group has-success has-feedback">
<label class="control-label" for="...">成功</label>
<input type="text" class="form-control" id="..." aria-describedby="..."/>
<span class="glyphicon glyphicon-ok form-control-feedback" aria-hidden="true"></span>
<span id="..."