Bootstrap是 Twitter写的,是目前最流行的前端框架
Bootstrap一般使用Html5文档类型 即:<!DOCTYPE html>
如果在 Bootstrap 创建的网页开头不使用 HTML5 的文档类型,您可能会面临一些浏览器显示不一致的问题,甚至可能面临一些特定情境下的不一致,以致于您的代码不能通过 W3C 标准的验证
12个Bootstrap插件
对话框、下拉项、滚动侦听、可切换的标签页、工具提示、弹出提示、通知消息、按钮、折叠、轮播、输入提醒、过渡效果
轮播:
将要设置轮播的容器添加carousel类
在放置要轮播内容的容器添加carousel-inner类
data-slide导航上一个或下一个条目
可以通过JS代码添加轮播
$
(
'.carousel'
).
carousel
()
interval: 规定幻灯片轮换的等待时间,以毫秒为单位
pause: 规定当鼠标停留在幻灯片区域即暂停轮播,鼠标离开即启动轮播
模态框:
下拉项:
在一个
.btn-group
中放置按钮和下拉菜单即可。您也可以使用 <span class="caret"></span> 来指示按钮作为下拉菜单
可分割按钮:
分割按钮的左边是原始的功能,右边是显示下拉菜单的切换
菜单也可以往上拉伸的,只需要简单地向父
.btn-group
容器添加
.dropup
可使用
<li class="divider"></li>来分割下来菜单
折叠:
提示工具:
<
a
href
=
"
#
"
class
=
"
tooltip-test
"
data-toggle
=
"
tooltip
"
data-placement
=
"
left
"
title
=
"
左侧的 Tooltip
"
>
左侧的 Tooltip
</
a
>
CSS
移动设备优先
Bootstrap 3 默认的 CSS 本身就对移动设备友好支持
在移动设备中适当的绘制和触屏缩放: <meta name="viewport" content="width=device-width, initial-scale=1.0">
将宽度设置为device-width确保网站正确呈现在不同设备上,initial-scale=1.0确保页面加载时以1:1比例呈现
在移动设备浏览器上,通过为
viewport meta 标签添加
user-scalable=no 可以禁用其缩放(zooming)功能
maximum-scale=1.0 与 user-scalable=no 一起使用。这样禁用缩放功能后,用户只能滚动屏幕,就能让您的网站看上去更像原生应用的感觉
这种方式我们并不推荐所有网站使用,还是要看您自己的情况而定!
响应式图像
<img src="..." class="img-responsive" alt="响应式图像">
通过添加img-responsive class 可以让Bootstrap 3中的图像对响应式布局支持更友好
.img-responsive {
display: inline-block;
height: auto;
max-width: 100%;}
全局显示、排版和链接
基本的全局显示
body {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 14px;
line-height: 1.428571429;
color: #333333;
background-color: #ffffff;}
排版
使用 @font-family-base、 @font-size-base 和 @line-height-base 属性作为排版样式
链接样式
通过属性 @link-color 设置全局链接的颜色
a:hover,
a:focus {
color: #2a6496;
text-decoration: underline;}
a:focus {
outline: thin dotted #333;
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
当鼠标悬停在链接上,或者点击过的链接,颜色会被设置为 #2a6496。同时,会呈现一条下划线。
除此之外,点击过的链接,会呈现一个颜色码为 #333 的细的虚线轮廓。另一条规则是设置轮廓为 5 像素宽,且对于基于 webkit 浏览器有一个
-webkit-focus-ring-color 的浏览器扩展。轮廓偏移设置为 -2 像素。
以上所有这些样式都可以在 scaffolding.less 中找到
避免跨浏览器的不一致
Bootstrap使用Normalize来建立跨浏览器的一致性
Normalize.css是一个很小的CSS文件,在HTML元素的默认样式中提供了更好的跨浏览器一致性
容器
class="container" Bootstrap 3 的
container class 用于包裹页面上的内容
.container {
padding-right: 15px;
padding-left: 15px;
margin-right: auto;
margin-left: auto;}
Bootstrap浏览器/设备支持
Bootstrap网格系统
bootstrap提供了一套响应式、移动设备优先的流式网格系统,随着屏幕或视口(viewport)尺寸的增加,系统自动分为最多12列
网页设计中的网格用于组织内容,让网站易于浏览,并降低用户端的负载
Bootstrap 包含了一个响应式的、移动设备优先的、不固定的网格系统,可以随着设备或视口大小的增加而适当地扩展到 12 列。它包含了用于简单的布局选项的预定义类,也包含了用于生成更多语义布局的功能强大的混合类
媒体查询
/* 超小设备(手机,小于 768px) *//* Bootstrap 中默认情况下没有媒体查询 */
/* 小型设备(平板电脑,768px 起) */
@media (min-width: @screen-sm-min) { ... }
/* 中型设备(台式电脑,992px 起) */
@media (min-width: @screen-md-min) { ... }
/* 大型设备(大台式电脑,1200px 起) */
@media (min-width: @screen-lg-min) { ... }
网格选项
Bootstrap排版
Bootstrap 使用 Helvetica Neue、 Helvetica、 Arial 和 sans-serif 作为其默认的字体栈
内联子标题
如果需要向任何标题添加一个内联子标题,只需要简单地在元素两旁添加 <small>,或者添加
.small class,这样子您就能得到一个字号更小的颜色更浅的文本
引导主体副本
为了给段落添加强调文本,则可以添加 class="lead",这将得到更大更粗、行高更高的文本
强调
HTML 的默认强调标签 <small>(设置文本为父文本大小的 85%)、<strong>(设置文本为更粗的文本)、<em>(设置文本为斜体)
缩写
HTML
元素提供了用于缩写的标记,比如 WWW 或 HTTP。Bootstrap 定义 <abbr> 元素的样式为显示在文本底部的一条虚线边框,当鼠标悬停在上面时会显示完整的文本(只要您为 <abbr> title 属性添加了文本)。为了得到一个更小字体的文本,请添加 .initialism 到 <abbr>
地址
使用 <address> 标签,您可以在网页上显示联系信息。由于 <address> 默认为 display:block;,您需要使用
标签来为封闭的地址文本添加换行
引用
您可以在任意的 HTML 文本旁使用默认的 <blockquote>。其他选项包括,添加一个 <small> 标签来标识引用的来源,使用 class
.pull-right 向右对齐引用
列表
Bootstrap 支持有序列表、无序列表和定义列表。
-
-
- 有序列表:有序列表是指以数字或其他有序字符开头的列表。
- 无序列表:无序列表是指没有特定顺序的列表,是以传统风格的着重号开头的列表。如果您不想显示这些着重号,您可以使用 class .list-unstyled 来移除样式。您也可以通过使用 class .list-inline 把所有的列表项放在同一行中。
- 定义列表:在这种类型的列表中,每个列表项可以包含 <dt> 和 <dd> 元素。<dt> 代表 定义术语,就像字典,这是被定义的属于(或短语)。接着,<dd> 是 <dt> 的描述。您可以使用 class dl-horizontal 把 <dl> 行中的属于与描述并排显示
-
Bootstrap代码
Bootstrap 允许您以两种方式显示代码
-
-
- 第一种是 <code> 标签。如果您想要内联显示代码,那么您应该使用 <code> 标签
- 第二种是 <pre> 标签。如果代码需要被显示为一个独立的块元素或者代码有多行,那么您应该使用 <pre> 标签
-
Bootstrap表格
表格类
<tr>, <th> 和 <td> 类
响应式表格
通过把任意的
.table 包在
.table-responsive class 内,您可以让表格水平滚动以适应小型设备(小于 768px)。当在大于 768px 宽的大型设备上查看时,您将看不到任何的差别
表单
垂直或基本表单
基本的表单结构是 Bootstrap 自带的,个别的表单控件自动接收一些全局样式。下面列出了创建基本表单的步骤:
-
-
- 向父 <form> 元素添加 role="form"。
- 把标签和控件放在一个带有 class .form-group 的 <div> 中。这是获取最佳间距所必需的。
- 向所有的文本元素 <input>、<textarea> 和 <select> 添加 class .form-control
-
内联表单
如果需要创建一个表单,它的所有元素是内联的,向左对齐的,标签是并排的,请向 <form> 标签添加 class
.form-inline
支持的表单控件
输入框(Input)
最常见的表单文本字段是输入框 input。用户可以在其中输入大多数必要的表单数据。Bootstrap 提供了对所有原生的 HTML5 的 input 类型的支持,包括:
text、password、datetime、datetime-local、date、month、time、week、number、email、url、search、tel 和
color。适当的
type 声明是必需的,这样才能让
input 获得完整的样式
<form role="form">
<divclass="form-group">
<labelfor="name">标签</label>
<inputtype="text"class="form-control"placeholder="文本输入">
</div>
</form>
文本框(Textarea)
当您需要进行多行输入的时,则可以使用文本框 textarea。必要时可以改变
rows 属性(较少的行 = 较小的盒子,较多的行 = 较大的盒子)
<form role="form"> <div class="form-group"> <label for="name">文本框</label> <textarea class="form-control" rows="3"></textarea> </div></form>
复选框(Checkbox)和单选框(Radio)
复选框和单选按钮用于让用户从一系列预设置的选项中进行选择。
-
-
- 当创建表单时,如果您想让用户从列表中选择若干个选项时,请使用 checkbox。如果您限制用户只能选择一个选项,请使用 radio。
- 对一系列复选框和单选框使用 .checkbox-inline 或 .radio-inline class,控制它们显示在同一行上
-
按钮
图片
Bootstrap 提供了三个可对图片应用简单样式的 class:
-
-
- .img-rounded:添加 border-radius:6px 来获得图片圆角。
- .img-circle:添加 border-radius:50% 来让整个图片变成圆形。
- .img-thumbnail:添加一些内边距(padding)和一个灰色的边框。
-
响应式图片
通过在 <img> 标签添加 .img-responsive 类来让图片支持响应式设计。 图片将很好地扩展到父元素。
.img-responsive 类将 max-width: 100%; 和 height: auto; 样式应用在图片上
Bootstrap 辅助类
文本
背景
其他
布局组件
字体图标 Bootstrap 捆绑了 200 多种字体格式的字形
用法
如需使用图标,只需要简单地使用下面的代码即可。请在图标和文本之间保留适当的空间。
<span class="glyphicon glyphicon-search"></span>
定制字体图标
定制字体尺寸
定制字体颜色
应用文本阴影
下拉菜单
<div class="dropdown"> <button type="button" class="btn dropdown-toggle" id="dropdownMenu1" data-toggle="dropdown">主题 <span class="caret"></span> </button> <ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1"> <li role="presentation"> <a role="menuitem" tabindex="-1" href="#">Java</a> </li> <li role="presentation"> <a role="menuitem" tabindex="-1" href="#">数据挖掘</a> </li> <li role="presentation"> <a role="menuitem" tabindex="-1" href="#">数据通信/网络</a> </li> <li role="presentation" class="divider"></li> <li role="presentation"> <a role="menuitem" tabindex="-1" href="#">分离的链接</a> </li> </ul></div>
对齐
通过向
.dropdown-menu 添加 class
.pull-right 来向右对齐下拉菜单
标题
您可以使用 class
dropdown-header 向下拉菜单的标签区域添加标题
按钮组
按钮组允许多个按钮被堆叠在同一行上。当你想要把按钮对齐在一起时,这就显得非常有用。您可以通过
Bootstrap 按钮(Button) 插件 添加可选的 JavaScript 单选框和复选框样式行为
嵌套
您可以在一个按钮组内嵌套另一个按钮组,即,在一个
.btn-group 内嵌套另一个
.btn-group 。当您向让下拉菜单与一系列按钮组合使用时,就会用到这个
按钮下拉菜单
如需向按钮添加下拉菜单,只需要简单地在在一个
.btn-group 中放置按钮和下拉菜单即可。您也可以使用 <span class="caret"></span> 来指示按钮作为下拉菜单
分割的按钮下拉菜单
分割的按钮下拉菜单使用与下拉菜单按钮大致相同的样式,但是对下拉菜单添加了原始的功能。分割按钮的左边是原始的功能,右边是显示下拉菜单的切换
按钮下拉菜单的大小
您可以使用带有各种大小按钮的下拉菜单:
.btn-large、.btn-sm 或
.btn-xs
按钮上拉菜单
菜单也可以往上拉伸的,只需要简单地向父
.btn-group 容器添加
.dropup 即可
输入框组
输入框组的大小
您可以通过向
.input-group 添加相对表单大小的 class(比如
.input-group-lg、input-group-sm、input-group-xs)来改变输入框组的大小。输入框中的内容会自动调整大小
复选框和单选插件
您可以把复选框和单选插件作为输入框组的前缀或者后缀元素
带有下拉菜单的按钮
在输入框组中添加带有下拉菜单的按钮,只需要简单地在一个
.input-group-btn class 中包裹按钮和下拉菜单即可
分割的下拉菜单按钮
在输入框组中添加带有下拉菜单的分割按钮,使用与下拉菜单按钮大致相同的样式,但是对下拉菜单添加了主要的功能
JS插件
Bootstrap 自带 12 种 jQuery 插件,扩展了功能,可以给站点添加更多的互动。即使您不是一名高级的 JavaScript 开发人员,您也可以着手学习 Bootstrap 的 JavaScript 插件。
利用 Bootstrap 数据 API(Bootstrap Data API),大部分的插件可以在不编写任何代码的情况被触发
引用插件的两种方式: 单独引用:单独导入相关的插件
同时引用:使用bootstrap.js或压缩版的bootstrap.min.js
所有的插件依赖于 jQuery。所以必须在插件文件之前引用 jQuery。请访问 bower.json 查看 Bootstrap 当前支持的 jQuery 版本
过渡效果Transition插件
Transition.js 是 transitionEnd 事件和 CSS 过渡效果模拟器的基本帮助器类。它被其他插件用来检查 CSS 过渡效果支持,并用来获取过渡效果
模态框Modal插件( modal.js
)
模态框(Modal)是覆盖在父窗体上的子窗体。通常,目的是显示来自一个单独的源的内容,可以在不离开父窗体的情况下有一些互动。子窗体可提供信息、交互等
用法:
您可以切换模态框(Modal)插件的隐藏内容:
-
- 通过 data 属性:在控制器元素(比如按钮或者链接)上设置属性 data-toggle="modal",同时设置 data-target="#identifier" 或 href="#identifier" 来指定要切换的特定的模态框(带有 id="identifier")。
- 通过 JavaScript:使用这种技术,您可以通过简单的一行 JavaScript 来调用带有 id="identifier" 的模态框:
$('#identifier').modal(options)
data-target="#myModal" 是您想要在页面上加载的模态框的目标。您可以在页面上创建多个模态框,然后为每个模态框创建不同的触发器。现在,很明显,您不能在同一时间加载多个模块,但您可以在页面上创建多个在不同时间进行加载
注意两点:
第一是 .modal,用来把<div>内容识别为模态框
第二是 .fade class.当模态框被切换时,它会引起内容淡入淡出
aria-labelledby="myModalLabel",该属性引用模态框的标题
属性
aria-hidden="true" 用于保持模态窗口不可见,直到触发器被触发为止(比如点击在相关的按钮上)
定义模态框的步骤
一、先给一个按钮或者链接添加属性data-toggle和属性data-target.
二、给模态框的div的类加上modal和fade.
三、给模态框的头部,正文,尾部的div里面加上类modal-title、modal-body、modal-footer.(在关闭按钮加上 类data-dismiss属性 ×;转移字符可以当关闭符号)
下拉菜单(Dropdown)插件 dropdown.js
步骤:
一、新建ul li菜单,然后在需要增加下拉菜单的那一个li添加dropdown类
二、在新增的那个li里面加入一个超链接,并且添加类dropdown-toggle和data-toggle=‘dropdown’之后再添加一组ul li,ul添加dropdown-menu类