博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Bootstrap框架
阅读量:5878 次
发布时间:2019-06-19

本文共 19978 字,大约阅读时间需要 66 分钟。

内容:

1.Bootstrap框架大致介绍

2.Bootstrap全局样式

3.常用Bootstrap组件

4.响应式开发

5.JavaScript插件

6.Bootstrap经典实例

7.课后习题练习

 

参考:

官方地址:

中文地址:

我使用V3版本的Bootstrap,我用的是Bootstrap的CDN来加载Bootstrap的文件

bootstrap3文档:

 

 

 

一、Bootstrap框架大致介绍

1.什么是Bootstrap框架

  • Bootstrap是Twitter开源的基于HTML、CSS、JavaScript的前端框架
  • 是为实现快速开发Web应用程序而设计的一套前端工具包
  • 支持响应式布局,并且在V3版本之后坚持移动设备优先

 

 

2.为什么要用Bootstrap

在Bootstrap出现之前:

  • 命名:重复、复杂、无意义(想个名字费劲)
  • 样式:重复、冗余、不规范、不和谐
  • 页面:错乱、不规范、不和谐

在使用Bootstrap之后: 各种命名都统一并且规范化。 页面风格统一,画面和谐。

 

 

3.Bootstrap框架使用

(1)下载Bootstrap相关文件到项目目录下,在HTML中导入下载的相关文件

 

(2)直接使用CDN导入文件(需连网),直接复制下面的代码到HTML中即可

1 
2
3 4
5
6 7
8

 

 

 

二、Bootstrap全局样式

1.什么是Bootstrap全局样式

排版、按钮、表格、表单、图片等我们常用的HTML元素,Bootstrap中都提供了全局样式;我们只要在基本的HTML元素上通过设置class就能够应用上Bootstrap的样式,从而使我们的页面更美观和谐

下面是一些常用的全局样式,详细全局样式看这里:

 

 

2.基础全局样式

(1)预备基础知识

设置移动设备优先:

1 

 

布局容器:

Bootstrap 需要为页面内容和栅格系统包裹一个 .container 容器,   有两个作此用处的类。注意这两种容器类不能互相嵌套

1 .container 类用于固定宽度并支持响应式布局的容器2 
3 ...4
5 6 .container-fluid 类用于 100% 宽度,占据全部视口(viewport)的容器7
8 ...9

 

Normalize.css:增强跨浏览器表现的一致性,可以使用Normalize.css,这是一个CSS 重置样式库

1 

 

 

(2)标题相关

标题:

1 

一级标题36px

2

二级标题30px

3

三级标题24px

4

四级标题18px

5
五级标题14px
6
六级标题12px
7 8
9
10 一级标题36px11 二级标题30px12 三级标题24px13 四级标题18px14 五级标题14px15 六级标题12px

 

副标题:

1 
2

一级标题小标题

 

标题效果如下:

 

 

(3)文本相关

文本对齐与大小写:

1 
2

文本左对齐

3

文本居中

4

文本右对齐

5 6
7

Lowercased text.

8

Uppercased text.

9

Capitalized text.

 

引用(这里只列出一种):

更多看这里:

1 
2

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

3
Someone famous in
Source Title
4

 

其他:

1 
2

中心内容 通过添加 .lead 类可以让段落突出显示

3
4

You can use the mark tag to highlight text.

5
6

7 This line of text is meant to be treated as deleted text. 8 This line of text is meant to be treated as no longer accurate. 9

10
11

12 This line of text is meant to be treated as an addition to the document.13

14
15

16 This line of text will render as underlined17

18
19

20 This line of text is meant to be treated as fine print.21 rendered as bold text22 rendered as italicized text23

View Code

 

 

(4)列表和表格相关

内联列表:

1 
    2
  • 选项1
  • 3
  • 选项2
  • 4
  • 选项3
  • 5

 

水平排列的描述列表:

1 
2
1:
3
safsa
4
2:
5
fgdsf
6
3:
7
aresdf
8

 

表格总体样式:

 

另外可以通过以下类为表格的行或列设置颜色:

 

 

(5)表单及按钮

表单:

  • 内联表单
  • 水平排列的表单
  • 表单状态
  • 带图标的表单

关于表单的详细内容看这里:

 

关于按钮的详细内容:

4种按钮:

1 Link2 3 4 

 

按钮样式:

1 
2 3
4 5
6 7
8 9
10 11
12 13
14

 

按钮大小:

1 

2 3 4

5

6 7 8

9

10 11 12

13

14 15 16

 

 

(6)图片及辅助类

图片:

1 Responsive image

 

图片形状:

1 ...2 ...3 ...

 

辅助类:

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 内容块居中:27
...
28 29 清除浮动:30
31
...
32 33 显示与隐藏:34
...
35

 

 

3.栅格系统

Bootstrap 提供了一套响应式、移动设备优先的流式栅格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列

栅格系统详细介绍:

(1)简介 

栅格系统用于通过一系列的行与列的组合来创建页面布局,你的内容可以放入创建好的布局中

 

(2)使用方法

示例:

 

 

 注意:

  • 栅格系统必须包含在container里面
  • 每一行(row)均分成12列(col-xx-**)必须放在row中
  • 每一个标签可以自定义占的列数(col-xx-**)
  • 列偏移:col-xx-offset-*,依然最后所有类名最后一位数字(所有的**和*)加起来应该是12(当然也可以小于12)
  • 列排序:通过使用 .col-md-push-* 和 .col-md-pull-* 类就可以很容易的改变列的顺序(push向右推,pull向左推)

 

(3)简单栅格系统实例

普通示例:

1 
2 3 4 5
6
7
8 Bootstrap全局样式 9 10
11
12 13
14
15 16 30 31 32 33 34
35
36
第一行 1
37
第一行 10
38
第一行 1
39
40
41
第二行 4
42
第二行 4
43
第二行 4
44
45
46
第三行 3
47
第三行 6
48
第三行 3
49
50
51
52 53 54 55 56
57 58 59 60 61
View Code

效果:

列偏移示例:

1 
2 3 4 5
6
7
8 Bootstrap全局样式 9 10
11
12 13
14
15 16 30 31 32 33 34
35
36
第一行 1
37
第一行 10
38
第一行 1
39
40
41
第二行 4
42
第二行 4
43
第二行 4
44
45
46
第三行 3
47
第三行 3 左边空三列
48
第三行 3
49
50
51 52 53 54 55 56
57 58 59 60 61
62 63 64 65 66
View Code

效果:

列排序示例:

1 
2 3 4 5
6
7
8 Bootstrap全局样式 9 10
11
12 13
14
15 16 30 31 32 33 34
35
36
第一行 1
37
第一行 10
38
第一行 1
39
40
41
第二行 4
42
第二行 4
43
第二行 4
44
45
46
47
第三行 3
48
第三行 3 左边空三列
49
第三行 3
50
51
52
53
54
.col-md-9 .col-md-push-3
55
56
.col-md-3 .col-md-pull-9
57
58
59 60 61
62 63 64 65 66
View Code

效果:

 

 

 

三、常用Bootstrap组件

Bootstrap常用组件:

  • 字体图标
  • 下拉菜单
  • 按钮组
  • 输入框俎
  • 导航
  • 分页
  • 标签和徽章
  • 页头
  • 缩率图
  • 进度条

详细内容:

 

动态进度条:

1 
2 3 4 5
6 动态进度条 7
8
9 10 11 12
13
14
16 0%17
18
19
20 21 22 23 46 47
View Code

 

 

 

四、响应式开发

1.为什么要进行响应式开发?

随着移动设备的流行,网页设计必须要考虑到移动端的设计。同一个网站为了兼容PC端和移动端显示,就需要进行响应式开发。

响应式:利用媒体查询,让同一个网站兼容不同的终端(PC端、移动端)呈现不同的页面布局

 

2.用到的技术

(1)CSS3@media查询

用于查询设备是否符合某一特定条件,这些特定条件包括屏幕尺寸、是否可触摸、屏幕精度、横屏竖屏等信息。

常见属性:

  • device-width, device-height 屏幕宽、高
  • width,height 渲染窗口宽、高
  • orientation 设备方向
  • resolution 设备分辨率

语法:

@media mediatype and|not|only (media feature) {    CSS-Code;}

不同的媒体使用不同的stylesheet

 

(2)viewport

手机浏览器是把页面放在一个虚拟的"窗口"(viewport)中,通常这个虚拟的"窗口"(viewport)比屏幕宽,这样就不用把每个网页挤到很小的窗口中(这样会破坏没有针对手机浏览器优化的网页的布局),用户可以通过平移和缩放来看网页的不同部分。

设置viewport,一个常用的针对移动网页优化过的页面的 viewport meta 标签大致如下:

  • width:控制 viewport 的大小,可以指定的一个值,如果 600,或者特殊的值,如 device-width 为设备的宽度(单位为缩放为 100% 时的 CSS 的像素)。
  • height:和 width 相对应,指定高度。
  • initial-scale:初始缩放比例,也即是当页面第一次 load 的时候缩放比例。
  • maximum-scale:允许用户缩放到的最大比例。
  • minimum-scale:允许用户缩放到的最小比例。
  • user-scalable:用户是否可以手动缩放。

 

(3) fluid grids(流体网格)、flexible images(灵活图片)

fluid grids(流式网格)要求元素的高度和宽度不应该为绝对值,应该为相对值, 可以用百分比或者vw和vh(vw是占视图的宽度,vh是占视图的高度,值为1到100对应1%到100%)实现

容器中的图片的高度和宽度不指定时就是图片本身的高度和宽度,当页面变小时,图片不会变小,而容器变小导致图片撑出容器 这时我们可以指定图片的max-width为100%(相对父元素)实现flexible images

 

 

3.Bootstrap的栅格系统

  • container
  • row
  • column

 

 

 

五、JavaScript插件

1.轮播图

1 
2 3 4 5
6
7 Bootstrap实现轮播图 8
9
11 12 13 14
61 62
63
64 65
66 69 70 76 77 78

 

 

2.模态框

1 
2 3 4 5
6
7 Bootstrap实现模态框 8
9
11 12 13 14 15
16 19 20
21
55 56
57 58
59 62 63

注意:

  • 通过为模态框设置 .bs-example-modal-lg和 .bs-example-modal-sm来控制模态框的大小。
  • 通过 .fade类来控制模态框弹出时的动画效果(淡入淡出效果)。
  • 通过在 .modal-bodydiv中设置 .row可以使用Bootstrap的栅格系统

 

模态框的调用方式:

1 1.通过data属性(上面实例就是用这种方法)2 通过在一个触发弹出模态框的元素(例如:按钮)上添加 data-toggle="modal"属性,然后设置 data-target="#Modal"属性或 href="#Modal"属性,用来指向被控制的模态框3 4 5 2.通过JS代码调用6 $('#myModal').modal("show")   // 显示7 $('#myModal').modal("hide")    // 隐藏

 

常用参数:

名称 可选值 默认值 描述
backdrop true/false/'static' true false表示有没有遮罩层,'static'表示点击遮罩层不关闭模态框
keyboard true/false true 键盘上的 esc 键被按下时关闭模态框。
show true/false true 模态框初始化之后就立即显示出来。

使用方法:

1 $('#myModal').modal({2   keyboard: false3 })

 

 

3.弹出信息

 toastr:

 使用方法:

1 toastr["success"]("你已经成功登陆!")

 

 

4.其他插件

其他插件:

 

 

 

六、Bootstrap经典实例

  • 封面图
  • Carousel
  • 博客页面
  • 控制台
  • 登录页
  • Offcanvas

更多经典实例: 

 

 

 

七、课后习题练习

请使用Bootstrap完成下列练习:

  • 登录页面
  • 信息收集卡
  • 后台管理页面(修改Dashbord)

 

 

1.登录页面

最终实现效果:

实现代码:

登录页面:

1 
2 3 4 5
6
7
8 登录页面 9
10
11
12
13 14 22 23 24 25
26
27
28
29

请登录

30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
49
50
51
52
53
54
55
56
57
58
59
60
61
62 63
64 65 66 67
View Code

 

多做了个注册页面:

1 
2 3 4 5
6
7
8 注册页面 9
10
11
12
13 14 22 23 24 25
26
27
28
29
30

请注册

31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 49
50 51 52 53
View Code

 

 

2.信息收集卡

最终实现效果:

实现代码:

1 
2 3 4 5
6
7
8 信息收集卡 9
10
11
12
13 14 30 31 32 33
34
35
36
40
41 42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72

只支持.png .jpg .gif格式

73
74
75
76
77
78
79
83
84
85
89
90
91
95
96
97
98 99
100
101
102
103
104
105
106 107 108
109
110 111 112 113 114 115 116 117 118
119 120 121 122
View Code
1  2  3  4     
5 信息收集卡 - 完整实现 6
7
8 9 10 11
12
13
18 19
20
21
23 1/324
25
26 27
28
29
30

基本信息

31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64

65
66
67
68
69
72
73
74
77
78
79
82
83
84
85
86
87 88
89
90
91 92
93 94 95 96 97 98
完整实现

 

 

3.后台管理页面(修改Dashbord)

目标:

修改这个页面:  改成后台管理页面

最终实现效果:

实现代码:

1   2 
3 4 5
6
7
8
9 后台管理页面示例 10
11
13
14
15 16 17 18 19
20
42 43
44
45
46
69
70
71
72

后台管理 学生管理

73 74
75
76
77 学生管理 78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# First Name Last Name Username
1 Mark Otto @mdo
2 Jacob Thornton @fat
3 Larry the Bird @twitter
122
123
124
143
144 145
146
147
148 149
150
189 190 191
192
193
194 195 196 197
198 199
200 203 204 205
View Code
1 /*  2  * Base structure  3  */  4   5 /* Move down content because we have a fixed navbar that is 50px tall */  6 body {  7   padding-top: 50px;  8 }  9  10  11 /* 12  * Global add-ons 13  */ 14  15 .sub-header { 16   padding-bottom: 10px; 17   border-bottom: 1px solid #eee; 18 } 19  20 /* 21  * Top navigation 22  * Hide default border to remove 1px line. 23  */ 24 .navbar-fixed-top { 25   border: 0; 26 } 27  28 /* 29  * Sidebar 30  */ 31  32 /* Hide for mobile, show later */ 33 .sidebar { 34   display: none; 35 } 36 @media (min-width: 768px) { 37   .sidebar { 38     position: fixed; 39     top: 51px; 40     bottom: 0; 41     left: 0; 42     z-index: 1000; 43     display: block; 44     padding: 20px; 45     overflow-x: hidden; 46     overflow-y: auto; /* Scrollable contents if viewport is shorter than content. */ 47     background-color: #f5f5f5; 48     border-right: 1px solid #eee; 49   } 50 } 51  52 /* Sidebar navigation */ 53 .nav-sidebar { 54   margin-right: -21px; /* 20px padding + 1px border */ 55   margin-bottom: 20px; 56   margin-left: -20px; 57 } 58 .nav-sidebar > li > a { 59   padding-right: 20px; 60   padding-left: 20px; 61 } 62 .nav-sidebar > .active > a, 63 .nav-sidebar > .active > a:hover, 64 .nav-sidebar > .active > a:focus { 65   color: #fff; 66   background-color: #428bca; 67 } 68  69  70 /* 71  * Main content 72  */ 73  74 .main { 75   padding: 20px; 76 } 77 @media (min-width: 768px) { 78   .main { 79     padding-right: 40px; 80     padding-left: 40px; 81   } 82 } 83 .main .page-header { 84   margin-top: 0; 85 } 86  87  88 /* 89  * Placeholder dashboard ideas 90  */ 91  92 .placeholders { 93   margin-bottom: 30px; 94   text-align: center; 95 } 96 .placeholders h4 { 97   margin-bottom: 0; 98 } 99 .placeholder {100   margin-bottom: 20px;101 }102 .placeholder img {103   display: inline-block;104   border-radius: 50%;105 }106 107 108 /* 我自己添加的样式 */109 .my-table-toolbar{110   margin-bottom: 15px;111 }
View Code

 

转载于:https://www.cnblogs.com/wyb666/p/9376893.html

你可能感兴趣的文章
使用 maven 自动将源码打包并发布
查看>>
Spark:求出分组内的TopN
查看>>
Python爬取豆瓣《复仇者联盟3》评论并生成乖萌的格鲁特
查看>>
关于跨DB增量(增、改)同步两张表的数据小技巧
查看>>
学员会诊之03:你那惨不忍睹的三层架构
查看>>
vue-04-组件
查看>>
Golang协程与通道整理
查看>>
解决win7远程桌面连接时发生身份验证错误的方法
查看>>
C/C++ 多线程机制
查看>>
js - object.assign 以及浅、深拷贝
查看>>
python mysql Connect Pool mysql连接池 (201
查看>>
Boost在vs2010下的配置
查看>>
一起谈.NET技术,ASP.NET伪静态的实现及伪静态的意义
查看>>
20款绝佳的HTML5应用程序示例
查看>>
string::c_str()、string::c_data()及string与char *的正确转换
查看>>
11G数据的hive初测试
查看>>
如何使用Core Text计算一段文本绘制在屏幕上之后的高度
查看>>
==和equals区别
查看>>
2010技术应用计划
查看>>
XML 节点类型
查看>>