3.6.1 按钮样式
按钮是网页交互过程中不可缺少的一部分,Bootstrap默认提供了7种样式的按钮风格,其效果如图3-29所示。
图3-29 按钮样式运行效果
使用方式如下:
- <!-- 标准button -->
- <button type="button" class="btn btn-default">Default</button>
- <!-- 提供视觉加重,表示在一组button中,该按钮是最主要的button -->
- <button type="button" class="btn btn-primary">Primary</button>
- <!-- 表示成功或正使用的button -->
- <button type="button" class="btn btn-success">Success</button>
- <!-- 表示提示信息的button -->
- <button type="button" class="btn btn-info">Info</button>
- <!-- 表示需要进行某种行为的button -->
- <button type="button" class="btn btn-warning">Warning</button>
- <!-- 表示危险或错误行为的button -->
- <button type="button" class="btn btn-danger">Danger</button>
- <!-- 让button的行为看起来像链接一样 -->
- <button type="button" class="btn btn-link">Link</button>
和第2章里的CSS设计思想讲述的一样,按钮风格首先定义了基础的.btn样式以及相关的hover、focus、active等行为特效,然后再为特殊的风格(如,btn-default)定义特殊的颜色(如,各种变化状态下的颜色)。.btn基础样式部分代码如下:
- // 源码1988行
- .btn {
- display: inline-block; /* inline模式*/
- padding: 6px 12px;
- margin-bottom: 0;
- font-size: 14px;
- font-weight: normal;
- line-height: 1.428571429;
- text-align: center;
- white-space: nowrap;
- vertical-align: middle;
- cursor: pointer; /* 手形图标 */
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- -o-user-select: none;
- user-select: none;
- background-image: none;
- border: 1px solid transparent; /* 边框 */
- border-radius: 4px; /* 圆角*/
- }
另外,基础样式也会对按钮默认的focus、active、hover、disabled行为定义相关的变化。详见源码2008~2034行。
特殊风格相关代码(以btn-default为例)如下:
- // 源码2035行
- .btn-default { /* 定义default风格相关的颜色 */
- color: #333;
- background-color: #fff;
- border-color: #ccc;
- }
- .btn-default:hover,
- .btn-default:focus,
- .btn-default:active,
- .btn-default.active,
- .open .dropdown-toggle.btn-default { /* hover、focus、active变化时的颜色 */
- color: #333;
- background-color: #ebebeb;
- border-color: #adadad;
- }
- .btn-default:active,
- .btn-default.active,
- .open .dropdown-toggle.btn-default { /* active状态下,背景图设置为none */
- background-image: none;
- }
- .btn-default.disabled,
- .btn-default[disabled],
- /* 此处省略部分选择符 */
- .btn-default[disabled].active,
- fieldset[disabled] .btn-default.active { /* 禁用状态下,各种变化时的颜色 */
- background-color: #fff;
- border-color: #ccc;
- }
- .btn-default .badge { /* 按钮内部有徽章的话,设置徽章的显示颜色和背景色 */
- color: #fff;
- background-color: #333;
- }
同理,其他6种按钮样式也是按照上述规则进行定义的,只是颜色变化不同而已。所以如果需要定义自己的风格,遵循上述规则即可。
注意
关于在按钮上应用不同主题的介绍,请参考第5章5.9节的内容。