BootStrap
一、概念
基于HTML、CSS、JavaScript的一套快速开发页面的前端框架。
特点:
- 移动设备优先。(支持移动设备)
- 响应式设计(布局),能够自动适配于台式机、pad和手机
- 主流浏览器支持
- 容易上手和使用
二、基本使用
两种使用方法:
- 本地使用(在本地下载bootstrap.css和bootstrap.js)
- 由于bootstrap底层采用jQuery编写,所以需要导入jQuery,而且需要在bootstrap.js之前导入。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <!-- head中需要设置移动设备优先 --> <meta name="viewport" content="width=device-width, initial-scale=1"> </head> <body> <!-- 整个页面的body中的内容必须包裹在一个div中,div的样式为`container`或者`container-fluid` --> <div class="container"></div> </body> </html> <!-- 2.需要导入jQuery,而且需要在bootstrap.js之前导入 以及bootstarp.css样式--> <link rel="stylesheet" href="css/bootstrap-3.4.1-dist/css/bootstrap.css"> <script src="js/jquery-3.5.1.js"></script> <script src="css/bootstrap-3.4.1-dist/js/bootstrap.js"></script>
- 使用CDN
<!-- 最新版本的 Bootstrap 核心 CSS 文件 --> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu" crossorigin="anonymous"> <!-- 可选的 Bootstrap 主题文件(一般不用引入) --> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap-theme.min.css" integrity="sha384-6pzBo3FDv/PJ8r2KRkGHifhEocL+1X2rVCTTkUfGk7/0pbek5mMa1upzvWbrUbOZ" crossorigin="anonymous"> <!-- 最新的 Bootstrap 核心 JavaScript 文件 --> <script src="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha384-aJ21OjlMXNL5UyIl/XNwTMqvzeRMZH2w8c5cRVpzpU8Y5bApTppSuUkhZXN0VxHd" crossorigin="anonymous"></script>
组成:
css样式、组件和js插件
三、栅格系统
作用,解决页面响应式布局问题
将整个页面分为12列,元素占据的列会根据页面大小的不同而发生变化。
**注意1:**如果需要设置移动设备优先,需要在head标签中有如下设置:
<meta name="viewport" content="width=device-width, initial-scale=1">
**注意2:**整个页面的body中的内容必须包裹在一个div中,而且需要设置该div的样式为
container
或者container-fluid
。
.container
类用于固定宽度并支持想响应式布局的容器<div class="container"> ... </div>
.container-fluid
类用于100%宽度,占据全部窗口(viewport)的容器<div class="container-fluidr"> ... </div>
**注意3:**导入bootstrap.css样式
<link rel="stylesheet" href="css/bootstrap-3.4.1-dist/css/bootstrap.css">```
<div class="container">
<!-- 表示一行 -->
<div class="row">
<!-- col-md-1 表示当在中等屏幕桌面显示器时,该div占1个栅格,一行只有12个栅格 -->
<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">
<!-- col-md-8 表示当在中等屏幕桌面显示器时,该div占8个栅格,col-md-4占四个总共12个 -->
<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-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-6">.col-md-6</div>
<div class="col-md-6">.col-md-6</div>
</div>
</div>
四、文本排版
标题排版:
<body>
<!-- 3.整个页面的body中的内容必须包裹在一个div中,div的样式为`container`或者`container-fluid` -->
<div class="container-fluid">
<h1>h1. Bootstrap heading</h1>
<h2>h2. Bootstrap heading</h2>
<h3>h3. Bootstrap heading</h3>
</div>
</body>
对齐方式:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title></title>
<!-- 1.head中需要设置移动设备优先 -->
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<!-- 3.整个页面的body中的内容必须包裹在一个div中,div的样式为`container`或者`container-fluid` -->
<div class="container-fluid">
<p class="text-left">Left aligned text.</p>
<p class="text-center">Center aligned text.</p>
<p class="text-right">Right aligned text.</p>
<p class="text-justify">Justified text.</p>
<p class="text-nowrap">No wrap text.</p>
</div>
</body>
</html>
<!-- 2.需要导入jQuery,而且需要在bootstrap.js之前导入 以及bootstarp.css样式-->
<link rel="stylesheet" href="css/bootstrap-3.4.1-dist/css/bootstrap.css">
<script src="js/jquery-3.5.1.js"></script>
<script src="css/bootstrap-3.4.1-dist/js/bootstrap.js"></script>
五、表格
.table
:设置一个默认的表格样式
table-hover
:鼠标悬停变色
table-bordered
:表格边框
table-striped
:隔行变色给行设置颜色:
active
:灰色
info
:蓝色
warning
:黄色
danger
:红色注意:详细操作可见bootstrap文档 全局 CSS 样式 · Bootstrap v3 中文文档或者菜鸟教程https://www.runoob.com/bootstrap/bootstrap-forms.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title></title>
<!-- 1.head中需要设置移动设备优先 -->
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<!-- 3.整个页面的body中的内容必须包裹在一个div中,div的样式为`container`或者`container-fluid` -->
<div class="container-fluid">
<div class="row h1 text-center">三国人物表</div>
<div class="row">
<!-- 设置表格占4个栅格,且偏移2个栅格,也就是前面空两个栅格 -->
<div class="col-md-4 col-md-offset-2">
<table class="table table-bordered table-hover">
<thead>
<tr class="active">
<th>姓名</th>
<th>年龄</th>
<th>电话</th>
</tr>
</thead>
<tbody>
<tr class="success">
<td>张三</td>
<td>18</td>
<td>000</td>
</tr>
<tr class="danger">
<td>李四</td>
<td>50</td>
<td >111</td>
</tr>
<tr class="info">
<td>王五</td>
<td>30</td>
<td>222</td>
</tr>
</tbody>
</table>
</div>
<div class="col-md-4">
<table class="table table-bordered table-hover table-striped">
<thead>
<tr>
<th>姓名</th>
<th>年龄</th>
<th>电话</th>
</tr>
</thead>
<tbody>
<tr>
<td>张三</td>
<td>18</td>
<td>000</td>
</tr>
<tr>
<td>李四</td>
<td>50</td>
<td >111</td>
</tr>
<tr>
<td>王五</td>
<td>30</td>
<td>222</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</body>
</html>
<!-- 2.需要导入jQuery,而且需要在bootstrap.js之前导入 以及bootstarp.css样式-->
<link rel="stylesheet" href="css/bootstrap-3.4.1-dist/css/bootstrap.css">
<script src="js/jquery-3.5.1.js"></script>
<script src="css/bootstrap-3.4.1-dist/js/bootstrap.js"></script>
六、表单
表单设置
- role=“form” 向父 元素添加 role=“form”
- control-label 文本向右靠齐
- “form-horizontal” 创建表单中每一项是水平的
- form-group表示一个文本加上一行,文本可以在这一行的左边或上边
- form-inline 表单全部都在同一行显示
- form-control 为和等文本表单控件提供自定义样式、大小、焦点状态等的升级
注意: 详细操作可见bootstrap文档 全局 CSS 样式 · Bootstrap v3 中文文档或者菜鸟教程https://www.runoob.com/bootstrap/bootstrap-forms.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title></title>
<!-- 1.head中需要设置移动设备优先 -->
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<!-- 3.整个页面的body中的内容必须包裹在一个div中,div的样式为`container(固定宽度)`或者`container-fluid(百分百占据宽度)` -->
<div class="container-fluid">
<!--
row 该div占据一行(一行固定12栅格)
col-md-offset-1 偏移几个栅格(个前面空几个栅格)
page-header (设置成页面标题)
-->
<div class="row col-md-offset-1 page-header">
<h1>用户注册</h1>
</div>
<!--
表单设置
role="form" 向父 <form> 元素添加 role="form"
control-label 文本向右靠齐
"form-horizontal" 创建表单中每一项是水平的
form-group表示一个文本加上一行,文本可以在这一行的左边或上边
form-inline 表单全部都在同一行显示
form-control 为<input>和<textarea>等文本表单控件提供自定义样式、大小、焦点状态等的升级
-->
<form action="11" method="get" role="form" class="form-horizontal">
<div class="form-group">
<label class="col-sm-1 control-label">用户名:</label>
<div class="col-sm-2">
<input type="text" name="username" class="form-control" placeholder="请输入姓名">
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">密码:</label>
<div class="col-sm-2">
<input type="password" name="password" class="form-control">
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">确认密码:</label>
<div class="col-sm-2">
<input type="password" name="Confirmpasswd" class="form-control">
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">性别:</label>
<div class="col-sm-2">
<label class="radio-inline"><input type="radio" name="agx" value="男" checked>小哥哥</label>
<label class="radio-inline"><input type="radio" name="agx" value="女">小姐姐</label>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">兴趣爱好:</label>
<div class="col-sm-5">
<label class="checkbox-inline"><input type="checkbox" name="hobby" value="学习">学习</label>
<label class="checkbox-inline"><input type="checkbox" name="hobby" value="编程">编程</label>
<label class="checkbox-inline"><input type="checkbox" name="hobby" value="健身">健身</label>
<label class="checkbox-inline"><input type="checkbox" name="hobby" value="学习">学习</label>
<label class="checkbox-inline"><input type="checkbox" name="hobby" value="编程">编程</label>
<br>
<label class="checkbox-inline"><input type="checkbox" name="hobby" value="健身">健身</label>
<label class="checkbox-inline"><input type="checkbox" name="hobby" value="健身">健身</label>
<label class="checkbox-inline"><input type="checkbox" name="hobby" value="学习">学习</label>
<label class="checkbox-inline"><input type="checkbox" name="hobby" value="编程">编程</label>
<label class="checkbox-inline"><input type="checkbox" name="hobby" value="健身">健身</label>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">出生日期:</label>
<div class="col-sm-5">
<input type="date" name="dataLocal">
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">工资:</label>
<div class="col-sm-1">
<input type="text" name="wage" class="form-control">
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">学历:</label>
<div class="col-sm-1">
<select name="school" class="form-control">
<option value="大专" selected>大专</option>
<option value="本科">本科</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">基本信息</label>
<div class="col-sm-5">
<textarea name="information" class = "form-control" rows="2"></textarea>
</div>
</div>
<!--
btn-info 设置按钮颜色(蓝色)
active
-->
<div class="form-group">
<div class="col-sm-offset-1">
<input type="submit" class="btn-info active" name ="submit" value="提交">
<input type="reset" class="btn-info " name = "reset" value="重置">
</div>
</div>
</form>
</div>
</body>
</html>
<!-- 2.需要导入jQuery,而且需要在bootstrap.js之前导入 以及bootstarp.css样式-->
<link rel="stylesheet" href="css/bootstrap-3.4.1-dist/css/bootstrap.css">
<script src="js/jquery-3.5.1.js"></script>
<script src="css/bootstrap-3.4.1-dist/js/bootstrap.js"></script>
七、按钮
详细操作可见bootstrap文档 全局 CSS 样式 · Bootstrap v3 中文文档或者菜鸟教程https://www.runoob.com/bootstrap/bootstrap-forms.html
八、图片
详细操作可见bootstrap文档 全局 CSS 样式 · Bootstrap v3 中文文档或者菜鸟教程https://www.runoob.com/bootstrap/bootstrap-forms.html
九、组件
详细操作可见bootstrap文档 全局 CSS 样式 · Bootstrap v3 中文文档或者菜鸟教程https://www.runoob.com/bootstrap/bootstrap-forms.html
<span class="glyphicon 指定的图标类名"></span>
<p>
<button type="button" class="btn btn-default">
<span class="glyphicon glyphicon-sort-by-attributes"></span>
</button>
<button type="button" class="btn btn-default">
<span class="glyphicon glyphicon-sort-by-attributes-alt"></span>
</button>
<button type="button" class="btn btn-default">
<span class="glyphicon glyphicon-sort-by-order"></span>
</button>
<button type="button" class="btn btn-default">
<span class="glyphicon glyphicon-sort-by-order-alt"></span>
</button>
</p>