解析Bootstrap基础模板

简要分析Bootstrap基础模板中meta标签以及引包依赖关系bootstrap

Bootstrap的优势

  • 流媒体网格布局
  • 响应式设计
  • 自定义表单元素
  • 页面排版
  • JavaScript交互性
  • 跨浏览器兼容性

先来看一下官方给出的一个基础模板

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
<!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">
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<title>Bootstrap 101 Template</title>
`<!-- Bootstrap -->`
<link href="css/bootstrap.min.css" rel="stylesheet">

<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="//cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="//cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<h1>你好,世界!</h1>

<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="//cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="js/bootstrap.min.js"></script>
</body>
</html>

下面列出其中几个关键点

关于IE

1
<meta http-equiv="X-UA-Compatible" content="IE=edge">
  • 此属性为文档兼容模式声明,表示如果在IE浏览器下则使用最新的标准渲染当前文档

视口(viewport)

1
<meta name="viewport" content="width=device-width, initial-scale=1">
  • 视口的作用:在移动浏览器中,当页面宽度超出设备,浏览器内部虚拟的一个页面容器,将页面容器缩放到设备这么大,然后展示
  • 目前大多数手机浏览器的视口(承载页面的容器)宽度都是980;
  • 视口的宽度可以通过meta标签设置
  • 此属性为移动端页面视口设置,当前值表示在移动端页面的宽度为设备的宽度,并且不缩放(缩放级别为1)
    • width:视口的宽度
    • initial-scale:初始化缩放
    • user-scalable:是否允许用户自行缩放(值:yes/no; 1/0)
    • minimum-scale:最小缩放,一般设置了用户不允许缩放,就没必要设置最小和最大缩放
    • maximum-scale:最大缩放

条件注释

1
2
3
4
<!--[if lt IE 9]>
<script src="//cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="//cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
  • 条件注释的作用就是当判断条件满足时,就会执行注释中的HTML代码,不满足时会当做注释忽略掉

第三方依赖

  • jQuery

    Bootstrap框架中的所有JS组件都依赖于jQuery实现

  • html5shiv

    让低版本浏览器可以识别HTML5的新标签,如header、footer、section等

  • respond

    让低版本浏览器可以支持CSS媒体查询功能

mediaquery

1
2
3
4
5
6
7
8
9
10
@media (判断条件(针对于当前窗口的判断)){
/*这里的代码只有当判断条件满足时才会执行*/
}

@media (min-width: 768px) and (max-width: 992px) {
/*这里的代码只有当(min-width: 1280px)满足时才会执行*/
.container {
width: 750px;
}
}
  • 当使用min-width作为判断条件一定要从小到大,其原因是CSS从上往下执行

基础CSS样式

预置界面组件

JavaScript插件

JavaScript插件的依赖情况

如何使用Javascript插件

内置组件

深度自定义 Bootstrap

在线自定义

源码编译

LESS语言