Classes responsivas no Grid System


Todas as Breakpoints

Para grids que permanecem iguais em todos os dispositivos, do menor ao maior, as classes principais são .col e .col-*. A classe numerada (por exemplo, .col-8) é usada quando se precisa de uma coluna com tamanho específico; caso contrário, é possível usar simplesmente .col.

<div class="container">
  <div class="row">
    <div class="col">col</div>
    <div class="col">col</div>
    <div class="col">col</div>
    <div class="col">col</div>
  </div>
  <div class="row">
    <div class="col-8">col-8</div>
    <div class="col-4">col-4</div>
  </div>
</div>

Empilhado na horizontal

Utilizando as classes .col-sm-*, é possível criar um sistema básico que inicia empilhado e se torna horizontal no breakpoint small (sm).

<div class="container">
  <div class="row">
    <div class="col-sm-8">col-sm-8</div>
    <div class="col-sm-4">col-sm-4</div>
  </div>
  <div class="row">
    <div class="col-sm">col-sm</div>
    <div class="col-sm">col-sm</div>
    <div class="col-sm">col-sm</div>
  </div>
</div>

Mix and Match

Caso não queira que as colunas empilhem em certos breakpoints, é possível combinar diferentes classes para cada breakpoint, conforme necessário.

<div class="container">
  <!-- Empilhe as colunas em dispositivos móveis, tornando uma na largura total (col-md-8 + col-md-4) e a outra na metade da largura (col-6). -->
  <div class="row">
    <div class="col-md-8">.col-md-8</div>
    <div class="col-6 col-md-4">.col-6 .col-md-4</div>
  </div>
 
  <!-- As colunas começam com 50% de largura (col-6) em dispositivos móveis e chegam a 33,3% (col-md-4) em computadores -->
  <div class="row">
    <div class="col-6 col-md-4">.col-6 .col-md-4</div>
    <div class="col-6 col-md-4">.col-6 .col-md-4</div>
    <div class="col-6 col-md-4">.col-6 .col-md-4</div>
  </div>
 
  <!-- As colunas têm sempre 50% de largura (col-6), em dispositivos móveis e computadores -->
  <div class="row">
    <div class="col-6">.col-6</div>
    <div class="col-6">.col-6</div>
  </div>
</div>

Row Columns

As classes responsivas .row-cols-* permitem definir rapidamente o número de colunas que melhor se adequam ao conteúdo e layout. Enquanto as classes normais .col-* se aplicam às colunas individuais, as classes de row columns são definidas no elemento .row como padrão para as colunas contidas.

<div class="container">
  <div class="row row-cols-2">
    <div class="col">Column</div>
    <div class="col">Column</div>
    <div class="col">Column</div>
    <div class="col">Column</div>
  </div>
</div>

<div class="container">
  <div class="row row-cols-3">
    <div class="col">Column</div>
    <div class="col">Column</div>
    <div class="col">Column</div>
    <div class="col">Column</div>
  </div>
</div>

<div class="container">
  <div class="row row-cols-auto">
    <div class="col">Column</div>
    <div class="col">Column</div>
    <div class="col">Column</div>
    <div class="col">Column</div>
  </div>
</div>

Nota

O Bootstrap também oferece um mixin Sass associado, row-cols(), que pode ser usado para personalizar ainda mais o número de colunas em diferentes breakpoints.

Referências