BootStrap框架
背景
免费BootStrap的CDN加速
1
2
3
4
5
6
7<!-- BootStrap在使用的时候需要引入样式文件、js文件 -->
<!-- 最新版本的 Bootstrap 核心 CSS 文件 -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
BootStrap容器
container-fluid:流体容器,占一整行
1
2
3
4<!-- 设置该class时,屏幕占比100%,同时内容部分有15px的左右内间距 -->
<div class="container-fluid">
内容部分
</div>container:容器标识,根据情况自动变化
- 1170:浏览器可见区域宽度大于1200时,该容器宽度为1170px
- 970:浏览器可见区域宽度大于992,小于1200,该容器宽度为970px
- 750:浏览器可见区域宽度大于768,小于992,该容器宽度为750px
- 100%:浏览器可见区域宽度小于768,该容器占比100%
1
2
3
4
5
6
7<!-- 设置该class时,屏幕占比100%,同时内容部分有15px的左右内间距 -->
<div class="container">
<!-- 在bootstrap中一行常用row class包裹 -->
<div class="row">
内容部分
</div>
</div>
BootStrap栅格系统
思想
Bootstrap将页面横向分为12等分,按照12等分定义了适应不同宽度等分的样式类,这些样式类组成了一套响应式、移动设备优先的流式栅格网络
格局
- col-lg-:大于1200排成一行,小于1200则各占一行
- col-md-:大于992排成一行,小于992分别占一行
- col-sm-:大于768排成一行,小于768分别占一行
- col-xs-:小于768时的排序方式
1 | <div class="container"> |
BootStrap栅格偏移
思想
有时一行我们无法凑出12份栅格出来,这个时候就需要使用栅格偏移的方式
格局
- col-lg-offset-:大于1200时左侧偏移的栅格数
- col-md-offset-:大于992时左侧偏移的栅格数
- col-sm-offset-:大于768时左侧偏移的栅格数
- col-xs-offset-:小于768时左侧偏移的栅格数
1 | <div class="container"> |
BootStrap栅格隐藏
思想
当屏幕在某些小尺寸时,为了节省屏幕上显示的内容,可以选择性的隐藏部分内容,且隐藏的内容不占空间
格局
- hidden-lg:大于1200时隐藏的内容
- hidden-md:大于992时隐藏的内容
- hidden-sm:大于768时隐藏的内容
- hidden-xs:小于768时隐藏的内容
1 | <div class="container"> |
BootStrap按钮与表单
按钮
注意
- 定义BootStrap上的按钮,可以用a标签/input标签做都可以
- 定义按钮时,有三部分组成:声明按钮(btn)、按钮样式、按钮大小,不声明按钮大小,则其根据按钮中的文字而定
定义
- 声明按钮
- btn
- 按钮样式
- btn-default:默认按钮样式
- btn-primary:一般的按钮样式
- btn-success:成功的按钮样式
- btn-info:提示信息
- btn-warning:警告的按钮样式
- btn-danger:危险的按钮样式
- btn-link:链接类型的按钮样式
- 按钮大小
- btn-block:按钮宽度100%
- btn-lg:大按钮
- btn-md:中等按钮
- btn-xs:小按钮
- 按钮状态
- active:按钮一直处于激活状态
- disabled:按钮一直处于未激活状态
- 按钮组
- btn-group
案例
1 | <!-- 以按钮组为例 --> |
表单
注意
BootStrap中表单依旧时form标签包裹
BootStrap中每个label和输入框都是需要用【form-group】的div包裹
1
2
3
4<div class="form-group">
<label for="name">标签</label>
<input type="text" id="name" class="form-control" placeholder="信息内容">
</div>
定义
声明一个表单域
- form:默认为每个元素独占一行
表单排列方式
form-inline:设置内联表单域
form-horizontal:水平排列表单域
1
2
3
4
5
6
7
8
9<form class="form-horizontal">
<div class="form-group">
<!-- 水平表单,则input外部包裹div搭配栅格实现 -->
<label for="inputEmail3" class="col-sm-2 control-label">Email</label>
<div class="col-sm-10">
<input type="email" class="form-control" id="inputEmail3" placeholder="Email">
</div>
</div>
</form>
声明表单组
- form-group:表单组,包括表单文字和表单控件
- form-group-lg:大尺寸表单
- form-group-sm:小尺寸表单
表单控件组样式:外层都需要包裹div设置样式
form-control:文本输入框、下拉列表控件样式
checkbox、checkbox-inline:多选框样式
radio、radio-inline:单选框样式
input-group:定义一个表单控件组
- input-group-addon:表单控件组物件样式,控件组的部分用div包裹起来添加样式
- input-group-btn:定义表单控件的按钮
BootStrap导航条
思想
BootStrap中先写导航条,再写容器container
1 | <div class="navbar navbar-default"> |
格局
- 声明导航条
- navbar:声明导航条
- 导航条样式
- navbar-default:声明默认的导航条样式,灰色背景
- navbar-inverse:声明黑色背景的导航条样式
- navbar-static-top:去掉导航条的圆角
- 导航条位置
- navbar-fixed-top:固定到顶部的导航条
- navbar-fixed-bottom:固定到底部的导航条
- navbar-left:菜单靠左
- navbar-right:菜单靠右
- 导航条元素
- navbar-header:定义一个导航条的头部,是LOGO的容器
- navbar-brand:定义LOGO等固定内容的样式
- nav navbar-nav:定义导航条中的菜单,菜单使用ul-li标签的方式
- navbar-form:定义导航条中的表单,一般用于输入框之类
- navbar-btn:定义导航条中的按钮
- navbar-text:定义导航条中的文本
案例
1 | .navbar > .container > .navbar-header > ul.nav + form |
1 | <!-- navbar:标识表头,navbar-inverse:标识黑色背景的样式--> |
BootStrap模态框
思想
模态框是BootStrap定义的一种弹框,模态框包含三层,如下:
1 | modal-header:定义弹框的头部标题 |
格局
定义
- modal、modal-dialog、modal-content:定义模态框的结构
- modal-header:定义模态框的头部,模态框的标题
- modal-body:定义弹框的内容部分,弹框的提示信息和内容
- modal-footer:定义弹框的底部内容,按钮
样式
- fade:定义模态框的渐入动画
大小 —- (该class填写在modal-dialog同级中)
- modal-lg:定义大模态框
- modal-sm:定义小模态框
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18<div class="container">
<!-- data-toggle、data-target:定义按钮与模态框的关联关系-->
<button class="btn btn-primary" id="btn" data-toggle="modal" data-target="button">This is a Button</button>
<!-- 模态三层结构 -->
<div class="modal" id="button">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">弹框的标题</div>
<div class="modal-body">弹框的内容部分</div>
<div class="modal-footer">
<button class="btn btn-primary">确定</button>
<!-- data-dismiss:定义按钮点击时,模态框的消失-->
<button class="btn btn-default" data-dismiss="modal">取消</button>
</div>
</div>
</div>
</div>
</div>
JS控制
激活模态框的显示
1
2
3
4
5
6$(function(){
$('#btn').click(function(){
$('#button').modal('show')
// $('#button').modal({show:true})
})
})取消模态框的显示
1
2
3
4
5$(function(){
$('#btn').click(function(){
$('#button').modal('hide')
})
})仅允许指定的按钮取消显示模态框
1
2
3
4
5
6
7
8$(function(){
$('#btn').click(function(){
$('#button').modal({
show:true,
backdrop:'static'
})
})
})
其它
路径导航 – 面包屑
1 | 媒体查询通过breadcrumb标识 |
1 | <div class="container"> |
下拉菜单
1 | .dropdown > .dropdown-toggle + ul.dropdown-menu |
1 | <div class="container"> |
巨幕
1 | .jumbotron > .container |
1 | <div class="jumbotron"> |
image响应式
1 | <!-- 图片的响应式只需要添加:img-responsive类 --> |
缩略图 – 做横向排版
1 | .container > .col-lg-5 > .thumbnail > img + h1 + p |
1 | <div class="container"> |
文本对齐
- text-left:左对齐
- text-center:居中对齐
- text-right:右对齐
- text-nowrap:内容不换行
1 | <p class="text-left">Left aligned text.</p> |
CSS补充知识
背景图
1 | /* div的背景图设置为指定的图片,左右居中,上下居中,不重复显示 */ |
权重
背景
- 权重指指标在整体评价中的相对重要程度,权重系数指在其它指标不变的情况下,当前指标的变化对结果的影响
- CSS优先级规则(最终起作用的样式):
- CSS属性后面加 !important 时,优先级最高;
- CSS选择规则的权值不同时,权值高的优先;
- CSS选择规则的权值相同时,后定义的规则优先;
CSS权值
- 计算公式:权值 = 第一等级选择器个数,第二等级选择器个数,第三等级选择器个数,第四等级选择器个数;
- 权值等级划分:
- 最高等级:属性前加:!important。
- 第一等级:内联样式,如:style=””,权重:1,0,0,0。
- 第二等级:ID选择器,如:#name=””,权重:0,1,0,0。
- 第三等级:类选择器 | 伪类 | 属性选择器,权重:0,0,1,0。
- 第四等级:标签 | 伪元素选择器,权重:0,0,0,1。
- 第五等级:通用选择器(*) | 子选择器 | 相邻同胞选择器,权重:0,0,0,0。
- 最低等级:继承的样式
- 权重比较:
- 先从高阶权重进行比较,高阶权重相同时,再比较低等级的,以此类推
- 权重完全相同,则采用后者优先原则(也就是样式覆盖)
CSS媒体查询
背景
- 媒体查询可以让我们根据设备显示器的变化情况,在不改变页面内容的情况下,为特定的一些输出设备定制显示效果
- 媒体查询写在CSS样式代码的最后,CSS是层叠样式表,在同一特殊性下,靠后的的样式会重叠前面的样式
使用
使用前需要引入meta标签,用于兼容移动设备的显示效果
1
2
3
4
5
6
7<!--
width=device-width:宽度等于当前设备的宽度
user-scalable=no:用户不能够手动缩放
initial-scale=1.0:初始的缩放比例,默认为1
maximum-scale:允许用户缩放到最大,默认为1
-->
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale">使用媒体查询
1
2
3
4
5
6
7
8
9@media [设备] [and | or | only] (显示设备检测) {
/* CSS Code */
}
/*
设备:all | print | screen,依次为所有、打印机、屏幕显示,默认为screen
and | or | only:用于限制多个显示条件
设备检测:max-width | min-width | max-height | min-height
*/1
2
3
4
5
6
7
8
9
10
11
12
13
14
15/* 官方学术风 */
/* 当屏幕显示宽度位于720px和320px时,body的背景色变为红色 */
@media screen and (max-width:720px) and (min-width:320px){
body{
background-color:red;
}
}
/* 教程中写的 */
/* 当屏幕显示宽度低于320px时,body背景色变为蓝色 */
@media (max-width:320px){
body{
background-color:blue;
}
}
知识点
脑图如下:
BootStrap使用说明参考:https://v3.bootcss.com/