Bootstrap 5: Sistema de Grade


Índice

    Mostrar índice

O sistema de grade

O sistema de grade do Bootstrap é construído com flexbox e permite até 12 colunas na página.

Se não quiser usar todas as 12 colunas individualmente, você pode agrupar as colunas para criar colunas mais largas:

span 1 span 1 span 1 span 1 span 1 span 1 span 1 span 1 span 1 span 1 span 1 span 1
 span 4  span 4  span 4
span 4 span 8
span 6 span 6
span 12

O sistema de grade é responsivo e as colunas serão reorganizadas automaticamente dependendo do tamanho da tela.

Certifique-se de que a soma totalize 12 ou menos (não é necessário usar todas as 12 colunas disponíveis).

Classes de grade

O sistema de grade Bootstrap 5 possui seis classes:

  • .col- (dispositivos extra pequenos - largura da tela inferior a 576px)

  • .col-sm- (dispositivos pequenos - largura de tela igual ou superior a 576px)

  • .col-md- (dispositivos médios - largura de tela igual ou superior a 768px)

  • .col-lg- (dispositivos grandes - largura de tela igual ou superior a 992px)

  • .col-xl- (dispositivos xlarge - largura de tela igual ou superior a 1200px)

  • .col-xxl- (dispositivos xxlarge - largura de tela igual ou superior a 1400px)

As classes acima podem ser combinadas para criar layouts mais dinâmicos e flexíveis.

Dica: cada classe é ampliada, portanto, se você quiser definir as mesmas larguras para sm e md, você só precisa especificar sm.

Estrutura básica de uma grade Bootstrap 5

A seguir está uma estrutura básica de uma grade Bootstrap 5:

<!-- Control the column width, and how they should appear on different devices -->
<div class="row">
  <div class="col-*-*"></div>
  <div class="col-*-*"></div>
</div>
<div class="row">
  <div class="col-*-*"></div>
  <div class="col-*-*"></div>
  <div class="col-*-*"></div>
</div>
<!-- Or let Bootstrap automatically handle the layout -->
<div class="row">
  <div class="col"></div>
  <div class="col"></div>
  <div class="col"></div>
</div>

Experimente você mesmo →

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>

<div class="container-fluid mt-3">
  <h1>Basic Grid Structure</h1>
  <p>Resize the browser window to see the effect.</p>
  <p>The first, second and third row will automatically stack on top of each other when the screen is less than 576px wide.</p>
  
  <!-- Control the column width, and how they should appear on different devices -->
  <div class="row">
    <div class="col-sm-6 bg-primary text-white">50%</div>
    <div class="col-sm-6 bg-dark text-white">50%</div>
  </div>
  <br>
    
  <div class="row">
    <div class="col-sm-4 bg-primary text-white">33.33%</div>
    <div class="col-sm-4 bg-dark text-white">33.33%</div>
    <div class="col-sm-4 bg-primary text-white">33.33%</div>
  </div>
  <br>

  <!-- Or let Bootstrap automatically handle the layout -->
  <div class="row">
    <div class="col-sm bg-primary text-white">25%</div>
    <div class="col-sm bg-dark text-white">25%</div>
    <div class="col-sm bg-primary text-white">25%</div>
    <div class="col-sm bg-dark text-white">25%</div>
  </div>
  <br>
    
  <div class="row">
    <div class="col bg-primary text-white">25%</div>
    <div class="col bg-dark text-white">25%</div>
    <div class="col bg-primary text-white">25%</div>
    <div class="col bg-dark text-white">25%</div>
  </div>
</div>

</body>
</html>

Primeiro exemplo: crie uma linha (<div class="row">). Em seguida, adicione o número desejado de colunas (tags com classes .col-*-* apropriadas). A primeira estrela (*) representa a capacidade de resposta: sm, md, lg, xl ou xxl, enquanto a segunda estrela representa um número, que deve somar 12 para cada linha.

Segundo exemplo: em vez de adicionar um número a cada col, deixe o bootstrap cuidar do layout, para criar colunas de largura igual: duas " col" elementos=50% de largura para cada coluna, enquanto três colunas=33,33% de largura para cada coluna. Quatro colunas=25% de largura, etc. Você também pode usar .col-sm|md|lg|xl|xxl para tornar as colunas responsivas.

Opções de grade

A tabela a seguir resume como o sistema de grade Bootstrap 5 funciona em diferentes tamanhos de tela:

  Extra small (<576px) Small (>=576px) Medium (>=768px) Large (>=992px) Extra Large (>=1200px) XXL (>=1400px)
Class prefix .col- .col-sm- .col-md- .col-lg- .col-xl- .col-xxl-
Grid behaviour Horizontal at all times Collapsed to start, horizontal above breakpoints Collapsed to start, horizontal above breakpoints Collapsed to start, horizontal above breakpoints Collapsed to start, horizontal above breakpoints Collapsed to start, horizontal above breakpoints
Container width None (auto) 540px 720px 960px 1140px 1320px
Suitable for Portrait phones Landscape phones Tablets Laptops Laptops and Desktops Laptops and Desktops
# of columns 12 12 12 12 12 12
Gutter width 1.5rem (.75rem on each side of a column) 1.5rem (.75rem on each side of a column) 1.5rem (.75rem on each side of a column) 1.5rem (.75rem on each side of a column) 1.5rem (.75rem on each side of a column) 1.5rem (.75rem on each side of a column)
Nestable Yes Yes Yes Yes Yes Yes
Offsets Yes Yes Yes Yes Yes Yes
Column ordering Yes Yes Yes Yes Yes Yes