起步 Bootstrap 概述 2010 年 6 月,Twitter 内部的工程师为了解决前端开发任务中的协作统一问题。经历各种方案后,Bootstrap 最终被确定下来,并于 2011 年 8 月发布。经过很长时间的迭代升级,由最初的 CSS 驱动项目发展成为内置很多 JavaScript 插件和图标的多功能 Web 前端的开源框架。 Bootstrap 最为重要的部分就是它的响应式布局,通过这种布局可以兼容 PC 端、PAD以及手机移动端的页面访问。 下载 国内文档翻译官网:http://www.bootcss.com 进入以上官网中Bootstrap3页面,下载: ![这里写图片描述](https://box.kancloud.cn/f91cf3f2ff5659ed6dd6c5c8917001a4_1158x509.png) 下载完成后解压文件夹,得到一下原始项目结构: ![这里写图片描述](https://box.kancloud.cn/a1387e57cc5062f1ba02bf7f127a7636_378x372.png) 主要分为三大核心目录:css(样式)、js(脚本)、fonts(字体)。 css 目录中有四个 css 后缀的文件,其中包含 min 字样的,是压缩版本,一般使用这个;不包含的属于没有压缩的,可以学习了解 css 代码的文件;而 map 后缀的文件则是 css 源码映射表,在一些特定的浏览器工具中使用。 js 目录包含两个文件,是未压缩和压缩的 js 文件。 fonts 目录包含了不同后缀的字体文件。 创建第一个页面 我们创建一个 HTML5 的页面,并且将 Bootstrap 的核心文件引入,然后测试是否正常显示。<!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"> <title>Bootstrap 101 Template</title> <link href="css/bootstrap.min.css" rel="stylesheet"> </head> <body> <h1>你好,世界!</h1> <script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script> <script src="js/bootstrap.min.js"></script> </body></html>
- 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
HTML5 文档类型 Bootstrap 使用到的某些 HTML 元素和 CSS 属性需要将页面设置为 HTML5 文档类型。在你项目中的每个页面都要参照下面的格式进行设置。<!DOCTYPE html><html lang="zh-CN"> ...</html>
移动设备优先 Bootstrap 3 重写了整个框架,使其一开始就是对移动设备友好的,Bootstrap 是移动设备优先的。针对移动设备的样式融合进了框架的每个角落,而不是增加一个额外的文件。 为了确保适当的绘制和触屏缩放,需要在 之中添加 viewport 元数据标签。<meta name="viewport" content="width=device-width, initial-scale=1">
在移动设备浏览器上,通过为视口(viewport)设置 meta 属性为 user-scalable=no 可以禁用其缩放(zooming)功能。<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
这样禁用缩放功能后,用户只能滚动屏幕,就能让你的网站看上去更像原生应用的感觉。注意,这种方式并不推荐所有网站使用,还是要看你自己的情况而定。 Normalize.css 为了增强跨浏览器表现的一致性,我们使用了 Normalize.css,这是由 Nicolas Gallagher 和 Jonathan Neal 维护的一个CSS 重置样式库。 布局容器 Bootstrap 需要为页面内容和栅格系统包裹一个 .container容器。我们提供了两个作此用处的类。注意,由于 padding 等属性的原因,这两种 容器类不能互相嵌套。 .container 类用于固定宽度并支持响应式布局的容器。<div class="container"> ...</div>
.container-fluid类用于 100% 宽度,占据全部视口(viewport)的容器。
<div class="container-fluid"> ...</div>
栅格系统 Bootstrap 提供了一套响应式、移动设备优先的流式栅格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列。 移动设备优先 在 HTML5 的项目中,我们做了移动端的项目。它有一份非常重要的 meta,用于设置屏幕和设备等宽以及是否运行用户缩放,及缩放比例的问题。 //分别为:屏幕宽度和设备一致、初始缩放比例、最大缩放比例和禁止用户缩放 布局容器 Bootstrap 需要为页面内容和栅格系统包裹一个.container 容器。由于 padding 等属性的原因,这两种容器类不能相互嵌套。 固定宽度…
100%宽度
…
栅格系统中,浏览器会随着屏幕的大小的增减自动分配最多12 列。通过一系列的行(row)与列(column)的组合来创建页面布局。
“行(row)”必须包含在 .container(固定宽度)或.container-fluid(100%宽度)中,以便为其赋予合适的排列(aligment)和内补(padding)。
通过“行(row)”在水平方向创建一组“列(column)”。
你的内容应当放置于“列(column)”内,并且,只有“列(column)”可以作为行(row)”的直接子元素。
类似 .row 和 .col-xs-4 这种预定义的类,可以用来快速创建栅格布局。 Bootstrap 源码中定义的 mixin 也可以用来创建语义化的布局。
通过为“列(column)”设置 padding 属性,从而创建列与列之间的间隔(gutter)。通过为 .row 元素设置负值 margin 从而抵消掉为.container 元素设置的 padding,也就间接为“行(row)”所包含的“列(column)”抵消掉了 padding。
栅格系统中的列是通过指定 1 到 12 的值来表示其跨越的范围。例如,三个等宽的列可以使用三个 .col-xs-4 来创建。
如果一“行(row)”中包含了的“列(column)”大于 12,多余的“列(column)”所在的元素将被作为一个整体另起一行排列。
栅格类适用于与屏幕宽度大于或等于分界点大小的设备 , 并且针对小屏幕设备覆盖栅格类。 因此,在元素上应用任何 .col-md-* 栅格类适用于与屏幕宽度大于或等于分界点大小的设备 ,并且针对小屏幕设备覆盖栅格类。因此,在元素上应用任何.col-lg-*不存在, 也影响大屏幕设备。
列偏移
<div class="row"> <div class="col-md-8 a">8</div> <div class="col-md-3 a col-md-offset-2">3</div></div>
列嵌套<div class="row"> <div class="col-md-9 a" style="padding: 0;"> <div class="col-md-4 a">4</div> <div class="col-md-4 a">4</div> <div class="col-md-4 a">4</div></div> <div class="col-md-3 a">3</div></div>
交换位置
<div class="row"> <div class="col-md-9 col-md-push-3 a"> 9 </div> <div class="col-md-3 col-md-pull-9 a">3</div></div>
排版样式
页面主体
Bootstrap 将全局 font-size 设置为 14px,line-height 行高设置为 1.428(即20px);
段落元素被设置等于 1/2 行高(即 10px);颜色被设置为#333。
创建包含段落突出的文本
<p>Bootstrap框架</p><p class="lead">Bootstrap框架</p>标题 <h1>Bootstrap框架</h1> <h2>Bootstrap框架</h2> <h3>Bootstrap框架</h3> <h4>Bootstrap框架</h4> <h5>Bootstrap框架</h5> <h6>Bootstrap框架</h6>
我们从 Firebug 查看元素了解到,Bootstrap 分别对 h1 ~ h6进行了 CSS 样式的重构,并且还支持普通内联元素定义class=(.h1 ~ h6)来实现相同的功能。
内联元素使用标题字体
<span class="h1">Bootstrap框架</span>
在 h1 ~ h6 元素之间,还可以嵌入一个 small 元素作为副标题,//在标题元素内插入 small 元素
<h1>Bootstrap框架<small>Bootstrap框架</small></h1> <h2>Bootstrap框架<small>Bootstrap框架</small></h2> <h3>Bootstrap框架<small>Bootstrap框架</small></h3> <h4>Bootstrap框架<small>Bootstrap框架</small></h4> <h5>Bootstrap框架<small>Bootstrap框架</small></h5> <h6>Bootstrap框架<small>Bootstrap框架</small></h6>
对齐
<p class="text-left">Bootstrap框架</p><p class="text-center">Bootstrap框架</p><p class="text-right">Bootstrap框架</p><p class="text-justify">Bootstrap框架</p>//浏览器支持有问题列表排版
<ul class="list-unstyled"> <li>Bootstrap框架</li> <li>Bootstrap框架</li> <li>Bootstrap框架</li> <li>Bootstrap框架</li> </ul> <ul class="list-inline"> <li>Bootstrap框架</li> <li>Bootstrap框架</li> <li>Bootstrap框架</li> <li>Bootstrap框架</li> </ul>
代码
For example, <code><section></code> should be wrapped as inline.To switch directories, type <kbd>cd</kbd> followed by the name of the directory.<br>To edit settings, press <kbd><kbd>ctrl</kbd> + <kbd>,</kbd></kbd>
表格
Bootstrap 提供了一些丰富的表格样式供开发者使用。
基本格式
<table class="table ">
注:我们可以通过 Firebug 查看相应的 CSS。
条纹状表格
<table class="table table-striped">
注:表格效果需要基于基本格式.table
带边框的表格
<table class="table table-bordered">
悬停鼠标
<table class="table table-hover">
状态类
<tr class="success">
注:一共五种不同的样式可供选择。
隐藏某一行
<tr class="active sr-only">
响应式表格
在小于768px,为表格加上边框
<table class="table table-responsive">
按钮
Bootstrap 提供了很多丰富按钮供开发者使用。
可作为按钮使用的标签或元素
转化成普通按钮
<button class="btn btn-default">Button</button><a href="###" class="btn btn-default">Link</a><input type="button" class="btn btn-default" value="Input"/>
注意事项有三点:
虽然按钮类可以应用到 <a>
和 <button>
元素上,但是,导航和导航条组件只支持<button>
元素。
链接被作为按钮使用时的注意事项如果 <a>
元素被作为按钮使用 – 并用于在当前页面触发某些功能 – 而不是用于链接其他页面或链接当前页面中的其他部分,那么,务必为其设置 role=”button” 属性。
我们总结的最佳实践是:强烈建议尽可能使用<button>
元素来获得在各个浏览器上获得相匹配的绘制效果。
预定义式
使用下面列出的类可以快速创建一个带有预定义样式的按钮。
类名 解释
btn-default 默认样式
btn-success 成功样式
btn-info 一般信息样式
btn-warning 警告样式
btn-danger 危险样式
btn-primary 首选项样式
btn-link 链接样式
<button class="btn btn-default">Button</button> <button class="btn btn-primary">Button</button> <button class="btn btn-success">Button</button> <button class="btn btn-info">Button</button> <button class="btn btn-warning">Button</button> <button class="btn btn-link">Button</button> <button class="btn btn-danger">Button</button>
尺寸大小
从大到小的尺寸
<p> <button type="button" class="btn btn-primary btn-lg">(大按钮)Large button</button> <button type="button" class="btn btn-default btn-lg">(大按钮)Large button</button> </p> <p> <button type="button" class="btn btn-primary">(默认尺寸)Default button</button> <button type="button" class="btn btn-default">(默认尺寸)Default button</button> </p> <p> <button type="button" class="btn btn-primary btn-sm">(小按钮)Small button</button> <button type="button" class="btn btn-default btn-sm">(小按钮)Small button</button> </p> <p> <button type="button" class="btn btn-primary btn-xs">(超小尺寸)Extra small button</button> <button type="button" class="btn btn-default btn-xs">(超小尺寸)Extra small button</button> </p>
块级按钮
块级换行
<button class="btn btn-block">Button</button>
激活状态
<button class="btn active">Button</button>
禁用状态
<button class="btn disabled">Button</button>
表单 Bootstrap 提供了一些丰富的表单样式供开发者使用。 基本格式 实现基本的表单样式<form> <div class="form-group"> <label>电子邮件</label> <input type="email" class="form-control" placeholder="请输入您的邮箱..." /> </div> <div class="form-group"> <label>密码</label> <input type="password" class="form-control" placeholder="请输入您的密码..." /> </div> </form>
单独的表单控件会被自动赋予一些全局样式。所有设置了.form-control 类的 、 和 元素都将被默认设置宽度属性为 width: 100%;。 将 label 元素和前面提到的控件包裹在 .form-group 中可以获得最好的排列。 内联表单 让表单左对齐浮动,并表现为 inline-block 内联块结构<form class="form-inline">
注:当小于 768px,会恢复独占样式 表单合组 前后增加片段<div class="form-group"> <label>价格</label> <div class="input-group"> <div class="input-group-addon">$</div> <input type="text" class="form-control" /> <div class="input-group-addon">.00</div> </div> </div>
不要将表单组直接和输入框组混合使用。建议将输入框组嵌套到表单组中使用。 水平排列 让表单内的元素保持水平排列<form class="form-horizontal"> <div class="form-group"><label class="col-sm-2 control-label">电子邮件</label> <div class="col-sm-10"><input type="email" class="form-control" placeholder="请输入您的电子邮件"></div></div></form>
注:control-label 表示和父元素样式同步。 复选框和单选框 <div class="checkbox disabled"> <label> <input type="checkbox" disabled/>体育 </label> </div> <div class="checkbox"> <label> <input type="checkbox" />音乐 </label> </div> <label class="checkbox-inline"> <input type="checkbox" disabled/>体育 </label> <label class="checkbox-inline"> <input type="checkbox" />音乐 </label>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
下拉列表<select class="form-control"> <option value="">1</option> <option value="">2</option> <option value="">3</option> <option value="">4</option></select>
校验状态 设置为错误状态<div class="form-group has-error">
注:还有其他状态如下 样式 说明 has-error 错误状态 has-success 成功状态 has-warning 警告状态 label 标签同步相应状态<label class=" control-label">电子邮件</label>
添加额外的图标
文本框右侧内置文本图标
<div class="form-group has-error has-feedback"> <label class="col-sm-2 control-label">电子邮件</label> <div class="col-sm-10"> <input type="email" class="form-control" placeholder="请输入您的邮箱..." /> <span class="glyphicon glyphicon-ok form-control-feedback"></span> </div></div>
类名 含义
glyphicon-ok 成功状态
glyphicon-warning-sign 警告状态
glyphicon-remove 错误状态
控制尺寸
从大到小
<input type="email" class="form-control input-lg" placeholder="请输入您的邮箱..." />
注:也可以设置父元素 form-group-lg、form-group-sm,来调整。
图片
<img src="..." alt="..." class="img-rounded"><img src="..." alt="..." class="img-circle"><img src="..." alt="..." class="img-thumbnail">