Button group

Agrupe una serie de botones en una sola línea con el grupo de botones y potencielos con JavaScript.

Ejemplo básico

Envuelva una serie de botones con .btn in .btn-group . Agregue el comportamiento de estilo de casilla de verificación y radio de JavaScript opcional con nuestro complemento de botones .


  <div class="btn-group" role="group" aria-label="Basic example">
    <button type="button" class="btn btn-secondary">Left</button>
    <button type="button" class="btn btn-secondary">Middle</button>
    <button type="button" class="btn btn-secondary">Right</button>
  </div>
Asegúrese de corregir role y proporcionar una etiqueta

Para que las tecnologías de asistencia (como los lectores de pantalla) transmitan que una serie de botones está agrupada, es necesario proporcionar un role atributo apropiado. Para los grupos de botones, esto sería role="group" , mientras que las barras de herramientas deberían tener una extensión role="toolbar".

Además, los grupos y las barras de herramientas deben tener una etiqueta explícita, ya que la mayoría de las tecnologías de asistencia no los anunciarán, a pesar de la presencia del atributo de función correcto. En los ejemplos proporcionados aquí, usamos aria-label , pero aria-labelledby también se pueden usar alternativas como.

Barra de herramientas de botones

Combine conjuntos de grupos de botones en barras de herramientas de botones para obtener componentes más complejos. Utilice las clases de servicios públicos según sea necesario para espaciar grupos, botones y más.


  <div class="btn-toolbar" role="toolbar" aria-label="Toolbar with button groups">
    <div class="btn-group mr-2" role="group" aria-label="First group">
      <button type="button" class="btn btn-secondary">1</button>
      <button type="button" class="btn btn-secondary">2</button>
      <button type="button" class="btn btn-secondary">3</button>
      <button type="button" class="btn btn-secondary">4</button>
    </div>
    <div class="btn-group mr-2" role="group" aria-label="Second group">
      <button type="button" class="btn btn-secondary">5</button>
      <button type="button" class="btn btn-secondary">6</button>
      <button type="button" class="btn btn-secondary">7</button>
    </div>
    <div class="btn-group" role="group" aria-label="Third group">
      <button type="button" class="btn btn-secondary">8</button>
    </div>
  </div>

Siéntase libre de mezclar grupos de entrada con grupos de botones en sus barras de herramientas. Al igual que en el ejemplo anterior, es probable que necesite algunas utilidades para espaciar las cosas correctamente.


  <div class="btn-toolbar mb-3" role="toolbar" aria-label="Toolbar with button groups">
    <div class="btn-group mr-2" role="group" aria-label="First group">
      <button type="button" class="btn btn-secondary">1</button>
      <button type="button" class="btn btn-secondary">2</button>
      <button type="button" class="btn btn-secondary">3</button>
      <button type="button" class="btn btn-secondary">4</button>
    </div>
    <div class="input-group">
      <div class="input-group-prepend">
        <div class="input-group-text" id="btnGroupAddon">@</div>
      </div>
      <input type="text" class="form-control" placeholder="Input group example" aria-label="Input group example" aria-describedby="btnGroupAddon">
    </div>
  </div>

  <div class="btn-toolbar justify-content-between" role="toolbar" aria-label="Toolbar with button groups">
    <div class="btn-group" role="group" aria-label="First group">
      <button type="button" class="btn btn-secondary">1</button>
      <button type="button" class="btn btn-secondary">2</button>
      <button type="button" class="btn btn-secondary">3</button>
      <button type="button" class="btn btn-secondary">4</button>
    </div>
    <div class="input-group">
      <div class="input-group-prepend">
        <div class="input-group-text" id="btnGroupAddon2">@</div>
      </div>
      <input type="text" class="form-control" placeholder="Input group example" aria-label="Input group example" aria-describedby="btnGroupAddon2">
    </div>
  </div>

Dimensionamiento

En lugar de aplicar clases de tamaño de botón a cada botón de un grupo, simplemente agréguelo .btn-group-* a cada uno .btn-group , incluso cada uno cuando anide varios grupos.






  <div class="btn-group btn-group-lg" role="group" aria-label="...">...</div>
  <div class="btn-group" role="group" aria-label="...">...</div>
  <div class="btn-group btn-group-sm" role="group" aria-label="...">...</div>

Anidamiento

Coloque un .btn-group dentro de otro .btn-group cuando desee que los menús desplegables se mezclen con una serie de botones.


  <div class="btn-group" role="group" aria-label="Button group with nested dropdown">
    <button type="button" class="btn btn-secondary">1</button>
    <button type="button" class="btn btn-secondary">2</button>
    
    <div class="btn-group" role="group">
      <button id="btnGroupDrop1" type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
      Dropdown
      </button>
      <div class="dropdown-menu" aria-labelledby="btnGroupDrop1">
        <a class="dropdown-item" href="#">Dropdown link</a>
        <a class="dropdown-item" href="#">Dropdown link</a>
      </div>
    </div>
  </div>

Variación vertical

Haga que un conjunto de botones aparezca apilado verticalmente en lugar de horizontalmente. Los menús desplegables de botones divididos no son compatibles aquí.


  <div class="btn-group-vertical">
    ...
  </div>