Bootstrap是目前最受欢迎的前端框架,Bootstrap是基于HTML、CSS和javascript的,他简洁灵活,使得web开发更加快捷
推荐使用:http://bootstrap.css88.com/
标准化的html+css编码规范
提供了一套简洁、直观、强悍的组件
有自己的生态圈,不断地更新迭代
让开发更简单,提高了开发的效率
控制权在框架本身,使用者要按照框架所规定的某种规范进行开发
创建文件夹结构
创建html骨架结构
引入相关样式文件
书写内容
直接拿Bootstrap预先定义好的样式来使用
修改Bootstrap原来的样式,但是要注意权重问题
学好Bootstrap的关键在于知道它定义了哪些样式,以及这些样式能实现什么样的
有些定义好的类可以直接使用,直接在结构中调用就好,她会帮我们定义好一定的媒体查询功能。
例如:
.container类
响应式布局,固定宽度
大屏(>=1200px)宽度定为1170px
中屏(>=992px)宽度定为970px
小屏(>=768px)宽度定为750px
超小屏(100%)
.container-fluid类
流式布局容器 百分百宽度
占据全部视口(Viewport)的容器
适合于单独做移动端开发
栅格系统用于通过一系列的行(row)与列(Column)来组合创建页面布局的,你的内容就可以放入这些创建好的布局中
超小屏幕(手机) | 小屏设备 | 中等屏幕 | 宽屏设备 | |
|---|---|---|---|---|
.container最大宽度 | 自动(100%) | 750px | 970px | 1170px |
类前缀 |
|
|
|
|
列(columu) | 12 | 12 | 12 | 12 |
行必须放在container布局容器里面
我们实现列的平均划分 需要给列添加类前缀
xs-extra small:超小; sm-small:小; md-medium:中等; lg-large:大;
列大于12,对于的列所在的元素将被作为一个整体另起一行排列
列小于于12,对于的列所在的元素会占不满当前行的元素,会有空白留出
每一列默认有左右5px的padding
可以同时为一列指定多个设备的名称,以便划分不同的份数,例如:class="col-md-4 col-sm-6"
栅格系统内置栅格系统将内容再次嵌套,简单理解就是一个列内再分成若干等分。我们可以通过添加一个新的
.row元素和一系列的.col-sm-*元素已经存在的.col-sm-*元素内
模拟
<!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.0">
<!-- 一定不要忘了添加bootstrap.min.css -->
<link rel="stylesheet" href="Bootstrap/css/bootstrap.min.css">
<title>列嵌套</title>
<style>
.row>div {
height: 50px;
background-color: paleturquoise;
/* border: 1px solid rgba(0, 0, 0, .3); */
}
</style>
</head>
<body>
<div class="container">
<div class="row">
<!-- 这里将父盒子分成12等份,每个子元素分4等份 -->
<div class="col-md-4">
<!-- 这里添加一个列元素,是为了消除父元素中的内边距问题 -->
<div class="row">
<!-- 消除了内边距问题,这里的子元素就可以顶着父盒子的边缘进行展开 -->
<div class="col-md-4">1</div>
<div class="col-md-8">2</div>
</div>
</div>
<div class="col-md-4">2</div>
<div class="col-md-4">3</div>
</div>
</div>
</body>
</html>
测试图 
使用
.col-md-offset-*类可以将列向右侧偏移。这些类实际是通过使用*选择器为当前元素增加了左侧的边距(margin)
模拟
<!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.0">
<link rel="stylesheet" href="Bootstrap/css/bootstrap.min.css">
<title>列偏移</title>
<style>
.row>div {
height: 50px;
background-color: palevioletred;
}
div[class^="row"]:nth-child(2) {
margin-top: 10px;
}
</style>
</head>
<body>
<div class="container">
<div class="row">
<!-- 给这两个盒子偏移量,语法格式:.col-md-offset-* 一般是由右侧的,因为盒子是顶着左侧浮动的-->
<div class="col-md-4">左侧</div>
<!-- 偏移的份数 = 12 -两个子元素的份数 -->
<div class="col-md-4 col-md-offset-4">右侧</div>
</div>
<div class="row">
<div class="col-md-3">左侧</div>
<!-- 添加偏移量 -->
<div class="col-md-2 col-md-offset-2">中间</div>
<div class="col-md-3 col-md-offset-2">右侧</div>
</div>
</div>
</body>
</html>
测试图 
通过使用
.col-md-push-*(推)和col-md-pull-*(拉)类就可以很容易的改变列(column)的顺序。
<!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.0">
<link rel="stylesheet" href="Bootstrap/css/bootstrap.min.css">
<title>列排序</title>
<style>
.row {
height: 50px;
background-color: plum;
}
</style>
</head>
<body>
<div class="container">
<div class="row">
<!-- 左侧添加push,给他推过去 -->
<div class="col-md-4 col-md-push-8">左侧</div>
<!-- 右侧将他拉回来,添加pull/拉回来 -->
<div class="col-md-8 col-md-pull-4">右侧</div>
</div>
</div>
</body>
</html>
测试图 
为了加快对移动设备友好的页面开发工作,利用媒体查询功能,并使用这些工具类可以方便的针对不同设备展示或隐藏页面内容。
类名 | 超小屏 | 小屏 | 中屏 | 大屏 |
|---|---|---|---|---|
| 隐藏 | 可见 | 可见 | 可见 |
| 可见 | 隐藏 | 可见 | 可见 |
| 可见 | 可见 | 隐藏 | 可见 |
| 可见 | 可见 | 可见 | 隐藏 |
模拟
<!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.0">
<link rel="stylesheet" href="Bootstrap/css/bootstrap.min.css">
<title>显示/隐藏</title>
<style>
.row div {
height: 300px;
background-color: pink;
}
.row div:nth-child(3) {
background-color: red;
}
</style>
</head>
<body>
<div class="container">
<div class="row">
<div class="col-xs-3">1</div>
<div class="col-xs-3">2</div>
<!-- 现在让第三个子元素,在中等屏幕下隐藏起来,直接添加hidden-md即可 -->
<div class="col-xs-3 hidden-md hidden-xs">3</div>
<div class="col-xs-3">4</div>
</div>
</div>
</body>
</html>
测试图 
本文章使用limfx的vscode插件快速发布