zoukankan      html  css  js  c++  java
  • 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>

  • 相关阅读:
    Zookeeper ZAB 协议分析
    Docker技术快速精通指南
    Oracle闪回技术详解
    怎样打造一个分布式数据库
    使用js冒泡实现点击空白处关闭弹窗
    也谈谈我对Docker的简单理解
    Docker技术快速精通指南
    Oracle优化网上常见的5个错误观点
    使用Spring AOP实现MySQL读写分离
    RESTEASY ,从学会使用到了解原理。
  • 原文地址:https://www.cnblogs.com/airycode/p/5150355.html
Copyright © 2011-2022 走看看