Bootstrap按钮组学习

简介


通过按钮组容器把一组按钮放在同一行里。通过与按钮插件联合使用,可以设置为单选框或多选框的样式和行为。

按钮组中的工具提示和弹出框需要特别的设置

当为 .btn-group 中的元素应用工具提示或弹出框时,必须指定container: 'body' 选项,这样可以避免不必要的副作用(例如工具提示或弹出框触发时,会让页面元素变宽和/或失去圆角)。

确保设置正确的 role 属性并提供一个 label 标签

为了向使用辅助技术 - 如屏幕阅读器 - 的用户正确传达一正确的按钮分组,需要提供一个合适的 role 属性。对于按钮组合,应该是 role="group",对于toolbar(工具栏)应该是role="toolbar"。 一个例外是按钮组合只包含一个单一的控制元素或一个下拉菜单(比如实际情况,<button> 元素组成的两端对齐排列的按钮组 )或下拉菜单。 此外,按钮组和工具栏应给定一个明确的label标签,尽管设置了正确的 role 属性,但是大多数辅助技术将不会正确的识读他们。在这里提供的实例中,我们使用 aria-label,但是, aria-labelledby 也可以使用。 

基本的按钮组


下面的实例演示了上面表格中讨论到的 class .btn-group 的使用:

  1. <div class="btn-group" role="group" aria-label="...">
  2. <button type="button" class="btn btn-default">Left</button>
  3. <button type="button" class="btn btn-default">Middle</button>
  4. <button type="button" class="btn btn-default">Right</button>
  5. </div>

完整代码:

<!DOCTYPE HTML>
<html>
<head>
<link rel="stylesheet" href="/stylesheets/bootstrap.min.css">
<script src="/scripts/jquery.min.js"></script>
<script src="/scripts/bootstrap.min.js"></script>
</head>
<body>
<div class="btn-group">
<button type="button" class="btn btn-default">按钮 1</button>
<button type="button" class="btn btn-default">按钮 2</button>
<button type="button" class="btn btn-default">按钮 3</button>
</div>
</body>
</html>

按钮工具栏


把一组 <div class="btn-group"> 组合进一个 <div class="btn-toolbar"> 中就可以做成更复杂的组件。

  1. <div class="btn-toolbar" role="toolbar" aria-label="...">
  2. <div class="btn-group" role="group" aria-label="...">...</div>
  3. <div class="btn-group" role="group" aria-label="...">...</div>
  4. <div class="btn-group" role="group" aria-label="...">...</div>
  5. </div>

尺寸

  1. <div class="btn-group btn-group-lg" role="group" aria-label="...">...</div>
  2. <div class="btn-group" role="group" aria-label="...">...</div>
  3. <div class="btn-group btn-group-sm" role="group" aria-label="...">...</div>
  4. <div class="btn-group btn-group-xs" role="group" aria-label="...">...</div>

完整代码:

<!DOCTYPE HTML>
<html>
<head>
<link rel="stylesheet" href="/stylesheets/bootstrap.min.css">
<script src="/scripts/jquery.min.js"></script>
<script src="/scripts/bootstrap.min.js"></script>
</head>
<body>
<div class="btn-group btn-group-lg" style="margin-top:10px;">
<button type="button" class="btn btn-default">Button 1</button>
<button type="button" class="btn btn-default">Button 2</button>
<button type="button" class="btn btn-default">Button 3</button>
</div><br>
<div class="btn-group btn-group-sm" style="margin-top:10px;">
<button type="button" class="btn btn-default">Button 4</button>
<button type="button" class="btn btn-default">Button 5</button>
<button type="button" class="btn btn-default">Button 6</button>
</div><br>
<div class="btn-group btn-group-xs" style="margin-top:10px;">
<button type="button" class="btn btn-default">Button 7</button>
<button type="button" class="btn btn-default">Button 8</button>
<button type="button" class="btn btn-default">Button 9</button>
</div>
</body>
</html>

嵌套


想要把下拉菜单混合到一系列按钮中,只须把 .btn-group 放入另一个 .btn-group 中。

  1. <div class="btn-group" role="group" aria-label="...">
  2. <button type="button" class="btn btn-default">1</button>
  3. <button type="button" class="btn btn-default">2</button>
  4. <div class="btn-group" role="group">
  5. <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
  6. Dropdown
  7. <span class="caret"></span>
  8. </button>
  9. <ul class="dropdown-menu" role="menu">
  10. <li><a href="#">Dropdown link</a></li>
  11. <li><a href="#">Dropdown link</a></li>
  12. </ul>
  13. </div>
  14. </div>

完整代码:

<!DOCTYPE HTML>
<html>
<head>
<link rel="stylesheet" href="/stylesheets/bootstrap.min.css">
<script src="/scripts/jquery.min.js"></script>
<script src="/scripts/bootstrap.min.js"></script>
</head>
<body>
<div class="btn-group">
<button type="button" class="btn btn-default">按钮 1</button>
<button type="button" class="btn btn-default">按钮 2</button>
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
下列
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="javascript:void(0)">下拉链接 1</a></li>
<li><a href="javascript:void(0)">下拉链接 2</a></li>
</ul>
</div>
</div>
</body>
</html>

垂直排列


让一组按钮垂直堆叠排列显示而不是水平排列。分列式按钮下拉菜单不支持这种方式。

  1. <div class="btn-group-vertical">
  2. <button type="button" class="btn btn-default">按钮 1</button>
  3. <button type="button" class="btn btn-default">按钮 2</button>
  4. <div class="btn-group-vertical">
  5. <button type="button" class="btn btn-default dropdown-toggle"
  6. data-toggle="dropdown">
  7. 下拉
  8. <span class="caret"></span>
  9. </button>
  10. <ul class="dropdown-menu">
  11. <li><a href="#">下拉链接 1</a></li>
  12. <li><a href="#">下拉链接 2</a></li>
  13. </ul>
  14. </div>
  15. </div>

完整代码:

<!DOCTYPE HTML>
<html>
<head>
<link rel="stylesheet" href="/stylesheets/bootstrap.min.css">
<script src="/scripts/jquery.min.js"></script>
<script src="/scripts/bootstrap.min.js"></script>
</head>
<body>
<div class="btn-group-vertical">
<button type="button" class="btn btn-default">按钮 1</button>
<button type="button" class="btn btn-default">按钮 2</button>
<div class="btn-group-vertical">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
下拉
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="javascript:void(0)">下拉链接 1</a></li>
<li><a href="javascript:void(0)">下拉链接 2</a></li>
</ul>
</div>
</div>
</body>
</html>

两端对齐排列的按钮组


让一组按钮拉长为相同的尺寸,填满父元素的宽度。对于按钮组中的按钮式下拉菜单也同样适用。

关于边框的处理

由于对两端对齐的按钮组使用了特定的 HTML 和 CSS (即display: table-cell),两个按钮之间的边框叠加在了一起。在普通的按钮组中,margin-left: -1px 用于将边框重叠,而没有删除任何一个按钮的边框。然而,margin 属性不支持 display: table-cell。因此,根据你对 Bootstrap 的定制,你可以删除或重新为按钮的边框设置颜色。

IE8和边框

Internet Explorer 8 不支持在两端对齐的按钮组中绘制边框,无论是 <a> 或<button> 元素。为了照顾 IE8,把每个按钮放入另一个 .btn-group 中即可。

关于 <a> 元素

只须将一系列 .btn 元素包裹到 .btn-group.btn-group-justified 中即可。

  1. <div class="btn-group btn-group-justified" role="group" aria-label="Justified button group">
  2. <a href="#" class="btn btn-default" role="button">Left</a>
  3. <a href="#" class="btn btn-default" role="button">Middle</a>
  4. <a href="#" class="btn btn-default" role="button">Right</a>
  5. </div>

完整代码:

<!DOCTYPE HTML>
<html>
<head>
<link rel="stylesheet" href="/stylesheets/bootstrap.min.css">
<script src="/scripts/jquery.min.js"></script>
<script src="/scripts/bootstrap.min.js"></script>
</head>
<body>
<div class="btn-group btn-group-justified" role="group" aria-label="Justified button group">
<a href="#" class="btn btn-default" role="button">Left</a>
<a href="#" class="btn btn-default" role="button">Middle</a>
<a href="#" class="btn btn-default" role="button">Right</a>
</div>
</body>
</html>

原文地址:https://www.cnblogs.com/airycode/p/5150355.html