Files
notes_estom/Bootstrap/1 getting-started.md
2022-04-18 16:07:24 +08:00

197 lines
7.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## 什么是BOOTSTRAP
### 1BOOTSTRAP概述
Bootstrap 是 Twitter 公司开发的一个基于 HTML、CSS、JavaScript 的技术框架,符合 HTML、CSS 规范,且代码简介、视觉优美。
Bootstrap 集合 HTML、CSS 和 JavaScript使用了最新的浏览器技术为实现快速开发提供了一套前端工具包。使用 Bootstrap 不仅可以构建出非常优雅的 HTML 页面,而且占用资源非常少,使用 gzip 压缩后大小仅用 10KB。并且 Bootstrap 在跨浏览器兼容方面表示也很好。
### 2选择BOOTSTRAP的理由
* Bootstrap 的 HTML 是基于 HTML5 的最新技术。
* Bootstrap 可以快速实现响应式页面。
* Bootstrap 集成了非常友好的 CSS 样式表,对于非设计人员也可以制作出很漂亮的网页。
### 3BOOTSTRAP提供的功能
根据 Bootstrap 官网提供的文档,可以知道 Bootstrap 分为以下几个模块:
* 全局 CSS 样式:提供了格栅系统、表格、表单、按钮等集成样式。
* 组件:提供了下拉菜单、输入框、导航、列表组等组件。
* 插件:提供了模态框、滚动监听、警告框、弹出框等插件。
### 4BOOTSTRAP的版本变化
* 2011年8月Twitter 推出了 Bootstrap 1 版本,该工具由 Twitter 的设计师 Mark Otto 和 Jacob Thornton 合作完成。
* 2012年1月Twitter 推出了 Bootstrap 2 版本。相比 Bootstrap 1 版本Bootstrap 2 添加了响应式设计、采用 12 栏栅格布局,并且清晰地划分出 CSS 布局、组件和插件等功能。
* 2013年8月Twitter 推出了 Bootstrap 3 版本。在这个版本中,采用移动优先和更好的盒子模型等。并且官方不再支持 IE 7及以下版本的浏览器。
* 目前Bootstrap 4 只是开发者预览版。
## 下载BOOTSTRAP
### 1Bootstrap 官网及下载地址
* Bootstrap 官网:[http://getbootstrap.com](http://getbootstrap.com)
* Bootstrap 下载地址:[http://getbootstrap.com/getting-started/#download](http://getbootstrap.com/getting-started/#download)
### 2Bootstrap 使用的两种方式
* 将 Bootstrap 提供的压缩包下载,导入到工程目录中使用。
* 使用 CDN 加速服务,例如以下内容:
```html
<!-- 新 Bootstrap 核心 CSS 文件 -->
<link rel="stylesheet" href="//cdn.bootcss.com/bootstrap/3.3.6/css/bootstrap.min.css">
<!-- 可选的Bootstrap主题文件一般不用引入 -->
<link rel="stylesheet" href="//cdn.bootcss.com/bootstrap/3.3.6/css/bootstrap-theme.min.css">
<!-- jQuery文件。务必在bootstrap.min.js 之前引入 -->
<script src="//cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>
<!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
<script src="//cdn.bootcss.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
```
### 3Bootstrap 目录结构及说明
下载压缩包之后,将其解压缩到任意目录即可看到以下(压缩版的)目录结构:
```
bootstrap/
├── css/ 样式库
│ ├── bootstrap.css 样式文件
│ ├── bootstrap.css.map
│ ├── bootstrap.min.css 压缩后的样式文件
│ ├── bootstrap-theme.css 主题文件
│ ├── bootstrap-theme.css.map
│ └── bootstrap-theme.min.css 压缩后的主题文件
├── js/ 核心 js 文件
│ ├── bootstrap.js 核心 js 文件
│ └── bootstrap.min.js 压缩后的核心 js 文件
└── fonts/ 字体库
├── glyphicons-halflings-regular.eot
├── glyphicons-halflings-regular.svg
├── glyphicons-halflings-regular.ttf
├── glyphicons-halflings-regular.woff
└── glyphicons-halflings-regular.woff2
```
## 对浏览器的支持情况
### 1目前支持的浏览器
| | Chrome | Firefox | Internet Explorer | Opera | Safari |
| --- | --- | --- | --- | --- | --- |
| Android | 支持 | 支持 | N/A | 不支持 | N/A |
| IOS | 支持 | N/A | N/A | 不支持 | 支持 |
| Mac OS X | 支持 | 支持 | N/A | 支持 | 支持 |
| Windows | 支持 | 支持 | 支持 | 支持 | 不支持 |
### 2IE 8及之前版本的兼容
* 对 HTML 5 提供的新元素,需要通过 html5shiv.js 库进行兼容。
* 对 CSS 3 提供的媒体查询,需要通过 respond.js 库进行支持。
需要在使用 Bootstrap 框架的页面 head 元素中,插入以下内容:
```html
<!-- 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]-->
```
### 3IE 兼容模式
Bootstrap 不支持 IE 古老的兼容模式。为了让 IE 浏览器运行最新的渲染模式下,建议将此 `<meta>` 元素加入到页面中:
```html
<meta http-equiv="X-UA-Compatible" content="IE=edge">
```
### 4国产浏览器高速模式
国内浏览器厂商一般都支持兼容模式(即 IE 内核)和高速模式(即 webkit 内核),不幸的是,所有国产浏览器都是默认使用兼容模式,这就造成由于低版本 IE IE8 及以下)内核让基于 Bootstrap 构建的网站展现效果很糟糕的情况。
将下面的 `<meta>` 元素加入到页面中,可以让部分国产浏览器默认采用高速模式渲染页面:
```html
<meta name="renderer" content="webkit">
```
## box-sizing
Bootstrap 默认使用的盒子模型是 border-box可能会和一些第三方组件冲突。
为了避免 Bootstrap 设置的全局盒模型所带来的影响,可以重置单个页面元素或覆盖整个区域的盒模型。
* 覆盖单个页面元素
```css
/* 通过 CSS 代码覆盖单个页面元素的盒模型 */
.element {
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box;
}
```
* 重置整个区域
```css
/* 通过 CSS 代码重置整个区域 */
.reset-box-sizing,
.reset-box-sizing *,
.reset-box-sizing *:before,
.reset-box-sizing *:after {
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box;
}
```
## 基本模板
Bootstrap 提供了一个最基本的 HTML 模板,基于这个模板开始实现 Bootstrap 响应式页面。
```html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<!-- 设置当前 HTML 页面的编码格式为 UTF-8 -->
<meta charset="utf-8">
<!-- 设置 IE 的兼容模式 -->
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- 设置移动优先 -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- 上述3个meta标签必须放在最前面任何其他内容都必须跟随其后 -->
<title>Bootstrap最基本的HTML模板</title>
<!-- 导入 Bootstrap 框架的 CSS 文件 -->
<link href="bootstrap/css/bootstrap.min.css" rel="stylesheet">
<!--
html5shiv.js 文件解决 IE8及之前版本的浏览器支持 HTML 5 元素的问题。
respond.js 文件解决 IE8及之前版本的浏览器支持 CSS 3 的媒体查询问题。
-->
<!--[if lt IE 9]>
<script src="bootstrap/js/html5shiv.min.js"></script>
<script src="bootstrap/js/respond.min.js"></script>
<![endif]-->
</head>
<body>
<h1>你好,世界!</h1>
<!--
由于 Bootstrap 是基于 jQuery 实现的核心 js 功能,
所以想要使用 Bootstrap 提供的插件功能,需要先导入 jQuery 文件。
-->
<script src="bootstrap/js/jquery-1.11.3.js"></script>
<!-- 导入 Bootstrap 框架的 js 文件 -->
<script src="bootstrap/js/bootstrap.min.js"></script>
</body>
</html>
```