7.1 按钮

7.1 按钮

Bootstrap支持将<a><button><input>元素变成按钮。Bootstrap为按钮提供了如下样式。

样式 描述
.btn 所有按钮都需要添加该样式。
.btn-default 设置默认的按钮样式,按钮背景色为蓝色
.btn-primary 设置代表首选项的按钮样式,按钮背景色为蓝色
.btn-success 设置代表成功的按钮样式,按钮背景色为绿色
.btn-info 设置一般信息的按钮样式,按钮背景色为浅蓝色
.btn-warning 设置代表警告的按钮样式,按钮背景色为黄色
.btn-danger 设置代办危险的按钮样式,按钮背景色为红色
.btn-link 设置链接形式的按钮样式。

有一点需要说明的是,虽然Bootstrap可以将<a><input><button>元素变成按钮,但导航和导航条上的按钮只支持<button>元素
如果<a>元素被作为按钮使用,而不是作为链接链接到其他页面或当前页面的其他地方,需要为该元素设置role="button"属性
建议尽可能使用<button>元素来创建按钮,这样可以获得最佳的跨浏览器效果。当使用Firefox 30及更早版本的浏览器时,Firefox会阻止为<input>元素的按钮设置line-height属性,这样就会导致该按钮在Firefox和其他浏览器上不能保持一致的高度。

程序示例

下面的页面代码示范了Bootstrap提供的各种风格的按钮。

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
29
30
31
<!DOCTYPE html>
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<title> 按钮 </title>
<link rel="stylesheet" href="../bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" href="../bootstrap/css/bootstrap-theme.min.css">
<style type="text/css">
button {
margin: 30px;
}
</style>
</head>

<body>
<div class="container">
<button type="button" class="btn btn-default">默认样式</button>
<button type="button" class="btn btn-primary">首选项</button>
<button type="button" class="btn btn-success">成功按钮</button>
<button type="button" class="btn btn-info">一般信息按钮</button>
<button type="button" class="btn btn-warning">警告按钮</button>
<button type="button" class="btn btn-danger">危险按钮</button>
<button type="button" class="btn btn-link">链接</button>
</div>
<script type="text/javascript" src="../jquery-3.1.1.js"></script>
<script type="text/javascript" src="../bootstrap/js/bootstrap.min.js"></script>
</body>

</html>

7.1.1 按钮大小

除了前面介绍的各种按钮样式之外,Bootstrap还提供了如下控制按钮大小的样式。

样式 描述
.btn-lg 设置大按钮。
.btn-sm 设置小按钮。
.btn-xs 设置超小的按钮。
.btn-block 设置块级按钮,这种按钮的宽度会自动占满父容器。

可以将这些样式和前面介绍的.btn-default.btn-primary等表示按钮风格的样式结合使用。

程序示例

例如如下代码示范了如何控制按钮的大小。

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<!DOCTYPE html>
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<title> 按钮 </title>
<link rel="stylesheet" href="../bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" href="../bootstrap/css/bootstrap-theme.min.css">
</head>

<body>
<div class="container">
<div class="row">
<div class="col-sm-3">
<button type="button" class="btn btn-default btn-lg">大默认按钮</button>
</div>
<div class="col-sm-3">
<button type="button" class="btn btn-default">默认按钮</button>
</div>
<div class="col-sm-3">
<button type="button" class="btn btn-default btn-sm">小默认按钮</button>
</div>
<div class="col-sm-3">
<button type="button" class="btn btn-default btn-xs">超小默认按钮</button>
</div>
</div>
<div class="row">
<div class="col-sm-3">
<button type="button" class="btn btn-primary btn-lg">大首选项按钮</button>
</div>
<div class="col-sm-3">
<button type="button" class="btn btn-primary">默认首选项按钮</button>
</div>
<div class="col-sm-3">
<button type="button" class="btn btn-primary btn-sm">小首选项按钮</button>
</div>
<div class="col-sm-3">
<button type="button" class="btn btn-primary btn-xs">超小首选项按钮</button>
</div>
</div>
</div>
<script type="text/javascript" src="../jquery-3.1.1.js"></script>
<script type="text/javascript" src="../bootstrap/js/bootstrap.min.js"></script>
</body>

</html>

以上代码使用.btn-lg.btn-sm.btn-xs等样式来控制按钮的大小。

如果使用.btn-block样式来控制按钮大小,则该按钮的宽度将总会占满它的父容器。

例如如下代码。

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
29
30
31
32
33
<!DOCTYPE html>
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<title> 按钮 </title>
<link rel="stylesheet" href="../bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" href="../bootstrap/css/bootstrap-theme.min.css">
</head>

<body>
<div class="container">
<div class="row">
<div class="col-sm-2">
<button type="button" class="btn btn-primary btn-lg btn-block">大primary按钮</button>
</div>
<div class="col-sm-3">
<button type="button" class="btn btn-primary btn-block">默认primary按钮</button>
</div>
<div class="col-sm-3">
<button type="button" class="btn btn-primary btn-sm btn-block">小primary按钮</button>
</div>
<div class="col-sm-4">
<button type="button" class="btn btn-primary btn-xs btn-block ">超小primary按钮</button>
</div>
</div>
</div>
<script type="text/javascript" src="../jquery-3.1.1.js"></script>
<script type="text/javascript" src="../bootstrap/js/bootstrap.min.js"></script>
</body>

</html>

块级按钮的宽度总会自动占满其父容器,比如上面页面中的第一个按钮使用了btn-lg btn-block样式,它的高度虽然是大按钮的尺寸,但其宽度只能占2列—因为它位于.col-sm-2的单元格中;第四个按钮使用了btn-xs btn-block样式,它的高度虽然是超小按钮的尺寸,但其宽度却能占4列—因为它位于.col-sm-4的单元格中。