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
的单元格中。