三、Bootstrap组件
1 Glyphicons 字体图标
图标类不能和其它组件直接联合使用。它们不能在同一个元素上与其他类共同存在。应该创建一个嵌套的 <span>
标签,并将图标类应用到这个 <span>
标签上。
图标类只能应用在不包含任何文本内容或子元素的元素上。
1 | <button type="button" class="btn btn-default" aria-label="Left Align"> |
1 | <div class="alert alert-danger" role="alert"> |
2 下拉菜单
2.1 基本使用
1 | <div class="dropdown"> |
通过为下拉菜单的父元素设置 .dropup 类,可以让菜单向上弹出(默认是向下弹出的)
1 | <div class="dropup"> ... </div> |
2.2 对齐
默认情况下,下拉菜单自动沿着父元素的上沿和左侧被定位为 100% 宽度。 为 .dropdown-menu
添加 .dropdown-menu-right
类可以让菜单右对齐。
1 | <ul class="dropdown-menu dropdown-menu-right" aria-labelledby="dLabel"> |
2.3 标题
在任何下拉菜单中均可通过添加标题来标明一组动作。
1 | <ul class="dropdown-menu" aria-labelledby="dropdownMenu3"> |
2.4 分割线
为下拉菜单添加一条分割线,用于将多个链接分组
1 | <ul class="dropdown-menu" aria-labelledby="dropdownMenuDivider"> |
2.5 禁用的菜单项
为下拉菜单中的 <li>
元素添加 .disabled
类,从而禁用相应的菜单项
3 按钮组
3.1 基本使用
1 | <div class="btn-group" role="group" aria-label="..."> |
3.2 按钮工具栏
把多个按钮组 嵌套在一个工具栏里面
1 | <div class="btn-toolbar" role="toolbar" aria-label="..."> |
3.3 尺寸
只要给 .btn-group
加上 .btn-group-*
类,就省去为按钮组中的每个按钮都赋予尺寸类了,如果包含了多个按钮组时也适用
1 | <div class="btn-group btn-group-lg" role="group" aria-label="...">...</div> |
3.4 嵌套下拉菜单
想要把下拉菜单混合到一系列按钮中,只须把 .btn-group
放入另一个 .btn-group
中
1 | <div class="btn-group" role="group" aria-label="..."> |
3.5 垂直排列
让一组按钮垂直堆叠排列显示而不是水平排列
1 | <div class="btn-group-vertical" role="group" aria-label="..."> |
3.6 两端对齐排列的按钮组
只须将一系列 .btn
元素包裹到 .btn-group.btn-group-justified
中即可
1 | <div class="btn-group btn-group-justified" role="group" aria-label="..."> |
1 | <div class="btn-group btn-group-justified" role="group" aria-label="..."> |
4 按钮式下拉菜单
前面的下拉菜单,重点介绍下拉菜单。 本部分介绍下拉菜单的按钮
4.1 单按钮下拉菜单
1 | <!-- Single button --> |
4.2 分列式按钮下拉菜单
1 | <!-- Split button --> |
4.3 尺寸
按钮式下拉菜单适用所有尺寸的按钮。
1 | <!-- Large button group --> |
4.4 向上弹出菜单
给父元素添加 .dropup
类就能使触发的下拉菜单朝上方打开。
1 | <div class="btn-group dropup"> |
5 输入框组
通过在文本输入框 <input>
前面、后面或是两边加上文字或按钮,可以实现对表单控件的扩展。为 .input-group
赋予 .input-group-addon
或 .input-group-btn
类,可以给 .form-control
的前面或后面添加额外的元素。
5.1 基本使用
1 | <div class="input-group"> |
5.2 尺寸
1 | <div class="input-group input-group-lg"> |
5.3 作为额外元素的多选框和单选框
1 | <div class="input-group"> |
5.4 作为额外元素的按钮
1 | <div class="input-group"> |
5.5 作为额外元素的按钮式下拉菜单
1 | <div class="input-group"> |
5.6 作为额外元素的分裂式按钮下拉菜单
1 | <div class="input-group"> |
5.7 一个方向多个按钮
1 | <div class="input-group"> |
6 导航Tab
6.1 标签页
1 | <ul class="nav nav-tabs"> |
6.2 胶囊式标签页
1 | <ul class="nav nav-pills"> |
胶囊式标签页垂直
1 | <ul class="nav nav-pills nav-stacked"> |
6.3 两端对齐的标签页
1 | <ul class="nav nav-tabs nav-justified"> |
6.4 禁用的链接
对任何导航组件(标签页、胶囊式标签页),都可以添加 .disabled
类,从而实现链接为灰色且没有鼠标悬停效果。
6.5 带下拉菜单的标签页
1 | <ul class="nav nav-tabs"> |
1 | <!--胶囊式标签页--> |
7 导航条
7.1 基本使用
1 | <nav class="navbar navbar-default"> |
7.2 品牌图标
将导航条内放置品牌标志的地方替换为 <img>
元素即可展示自己的品牌图标。由于 .navbar-brand
已经被设置了内补(padding)和高度(height),你需要根据自己的情况添加一些 CSS 代码从而覆盖默认设置。
1 | <nav class="navbar navbar-default"> |
7.3 表单
将表单放置于 .navbar-form
之内可以呈现很好的垂直对齐,并在较窄的视口(viewport)中呈现折叠状态。 使用对齐选项可以规定其在导航条上出现的位置。
1 | <form class="navbar-form navbar-left" role="search"> |
7.4 按钮
对于不包含在 <form>
中的 <button>
元素,加上 .navbar-btn
后,可以让它在导航条里垂直居中
1 | <button type="button" class="btn btn-default navbar-btn">Sign in</button> |
7.5 文本
把文本包裹在 .navbar-text
中时,为了有正确的行距和颜色,通常使用 <p>
标签
1 | <p class="navbar-text">Signed in as Mark Otto</p> |
7.6 非导航的链接
或许你希望在标准的导航组件之外添加标准链接,那么,使用 .navbar-link
类可以让链接有正确的默认颜色和反色设置
1 | <p class="navbar-text navbar-right">Signed in as <a href="#" class="navbar-link">Mark Otto</a></p> |
7.7 组件排列
通过添加 .navbar-left
和 .navbar-right
工具类让导航链接、表单、按钮或文本对齐。两个类都会通过 CSS 设置特定方向的浮动样式。例如,要对齐导航链接,就要把它们放在个分开的、应用了工具类的 <ul>
标签里。
7.8 固定在顶部
添加 .navbar-fixed-top
类可以让导航条固定在顶部,还可包含一个 .container
或 .container-fluid
容器,从而让导航条居中,并在两侧添加内补(padding)。
1 | <nav class="navbar navbar-default navbar-fixed-top"> |
7.9 固定在底部
添加 .navbar-fixed-bottom
类可以让导航条固定在底部,并且还可以包含一个 .container
或 .container-fluid
容器,从而让导航条居中,并在两侧添加内补(padding)
1 | <nav class="navbar navbar-default navbar-fixed-bottom"> |
7.10 静止在顶部
1 | <nav class="navbar navbar-default navbar-static-top"> |
7.11 反色
1 | <nav class="navbar navbar-inverse"> |
8 路径导航
面包屑导航
1 | <ol class="breadcrumb"> |
9 分页
9.1 默认分页
1 | <nav aria-label="Page navigation"> |
禁用和激活状态
你可以给不能点击的链接添加 .disabled
类、给当前页添加 .active
类
我们建议将 active 或 disabled 状态的链接(即 <a>
标签)替换为 <span>
标签,或者在向前/向后的箭头处省略<a>
标签,这样就可以让其保持需要的样式而不能被点击。
1 | <nav aria-label="..."> |
尺寸
1 | <nav aria-label="..."><ul class="pagination pagination-lg">...</ul></nav> |
9.2 翻页
基本使用
1 | <nav aria-label="..."> |
对齐链接
1 | <nav aria-label="..."> |
可选的禁用状态
1 | <nav aria-label="..."> |
10 标签
10.1 基本使用
1 | <h3>Example heading <span class="label label-default">New</span></h3> |
10.2 各种颜色的标签
1 | <span class="label label-default">Default</span> |
11 徽章
给链接、导航等元素嵌套 <span class="badge">
元素,可以很醒目的展示新的或未读的信息条目。
1 | <a href="#">Inbox <span class="badge">42</span></a> |
12 巨幕
1 | <div class="jumbotron"> |
如果需要让巨幕组件的宽度与浏览器宽度一致并且没有圆角,请把此组件放在所有 .container
元素的外面,并在组件内部添加一个 .container
元素。
1 | <div class="jumbotron"> |
13 页头
页头组件能够为 h1
标签增加适当的空间,并且与页面的其他部分形成一定的分隔。它支持 h1
标签内内嵌 small
元素的默认效果,还支持大部分其他组件(需要增加一些额外的样式)
1 | <div class="page-header"> |
14 缩略图
14.1 基本样式
1 | <div class="row"> |
14.2 带内容的缩略图
1 | <div class="row"> |
15 警告框
15.1 基本用法
1 | <div class="alert alert-success" role="alert">...</div> |
15.2 可关闭的警告框
为警告框添加一个可选的 .alert-dismissible
类和一个关闭按钮。
1 | <div class="alert alert-warning alert-dismissible" role="alert"> |
15.3 警告框中的链接
用 .alert-link
工具类,可以为链接设置与当前警告框相符的颜色。
1 | <div class="alert alert-success" role="alert"> |
16进度条
16.1 基本使用
1 | <div class="progress"> |
16.2 带有提示标签的进度条
将设置了 .sr-only
类的 <span>
标签从进度条组件中移除 类,从而让当前进度显示出来。
1 | <div class="progress"> |
在展示很低的百分比时,如果需要让文本提示能够清晰可见,可以为进度条设置 min-width
属性。
16.3进度条颜色
1 | <div class="progress"> |
16.4 条纹效果
1 | <div class="progress"> |
16.5 动画效果
为 .progress-bar-striped
添加 .active
类,使其呈现出由右向左运动的动画效果。IE9 及更低版本的浏览器不支持
1 | <div class="progress"> |
16.7 堆叠效果
1 | <div class="progress"> |
17 媒体对象
这是一个抽象的样式,用以构建不同类型的组件,这些组件都具有在文本内容的左或右侧对齐的图片(就像博客评论或 Twitter 消息等)。
17.1 默认样式
1 | <div class="media"> |
17.2 对齐
图片或其他媒体类型可以顶部、中部或底部对齐。默认是顶部对齐。
1 | <div class="media"> |
17.3 媒体对象列表
1 | <ul class="media-list"> |
18 列表组
18.1 基本使用
1 | <ul class="list-group"> |
18.2 带徽章
1 | <ul class="list-group"> |
18.3 列表
1 | <div class="list-group"> |
18.4 按钮
1 | <div class="list-group"> |
18.5 被禁用的条目
1 | <div class="list-group"> |
18.6 情景类(颜色)
1 | <ul class="list-group"> |
18.7 定制内容
列表组中的每个元素都可以是任何 HTML 内容,甚至是像下面的带链接的列表组。
1 | <div class="list-group"> |
19 面板
19.1 基本
1 | <div class="panel panel-default"> |
19.2 带标题的面板
1 | <div class="panel panel-default"> |
19.3 带脚注的面板
1 | <div class="panel panel-default"> |
19.4 情境效果
1 | <div class="panel panel-primary">...</div> |
19.5 带表格的面板
1 | <div class="panel panel-default"> |
如果没有 .panel-body
,面版标题会和表格连接起来,没有空隙
1 | <div class="panel panel-default"> |
19.6 带列表组的面板
1 | <div class="panel panel-default"> |
20 具有响应式特性的嵌入内容
根据被嵌入内容的外部容器的宽度,自动创建一个固定的比例,从而让浏览器自动确定视频或 slideshow 的尺寸,能够在各种设备上缩放。
这些规则被直接应用在 <iframe>
、<embed>
、<video>
和 <object>
元素上。如果你希望让最终样式与其他属性相匹配,还可以明确地使用一个派生出来的 .embed-responsive-item
类。
超级提示: 不需要为 <iframe>
元素设置 frameborder="0"
属性,因为我们已经替你这样做了!
1 | <!-- 16:9 aspect ratio --> |
21 Well
21.1 默认样式
1 | <div class="well">...</div> |
21.2 尺寸
1 | <div class="well well-lg">...</div> |
#