Mřížkový systém Bootstrapu je postaven na flexboxu a umožňuje až 12 sloupců přes stránku.
Pokud nechcete používat všech 12 sloupců jednotlivě, můžete je seskupit a vytvořit širší sloupce:
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 |
Systém mřížky reaguje a sloupce se automaticky přeuspořádají v závislosti na velikosti obrazovky.
Ujistěte se, že součet je 12 nebo méně (není nutné použít všech 12 dostupných sloupců).
Mřížkový systém Bootstrap 5 má šest tříd:
.col-
(extra malá zařízení - šířka obrazovky menší než 576 pixelů)
.col-sm-
(malá zařízení - šířka obrazovky 576 pixelů nebo větší)
.col-md-
(střední zařízení - šířka obrazovky rovna nebo větší než 768 pixelů)
.col-lg-
(velká zařízení - šířka obrazovky 992 pixelů nebo větší)
.col-xl-
(xlarge zařízení - šířka obrazovky rovna nebo větší než 1200 pixelů)
.col-xxl-
(xxlarge zařízení - šířka obrazovky rovna nebo větší než 1400 pixelů)
Výše uvedené třídy lze kombinovat a vytvářet dynamičtější a flexibilnější rozvržení.
Tip: Každá třída se zvětšuje, takže pokud chcete nastavit stejné šířky pro sm
a md
, stačí zadat sm
.
Níže je uvedena základní struktura mřížky 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>
Zkuste to sami →
<!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>
První příklad: vytvořte řádek (<div class="row">
). Poté přidejte požadovaný počet sloupců (značky s příslušnými třídami .col-*-*
). První hvězdička (*) představuje odezvu: sm, md, lg, xl nebo xxl, zatímco druhá hvězdička představuje číslo, jehož součet by měl být 12 pro každý řádek.
Druhý příklad: místo přidávání čísla do každého sloupce
nechte rozvržení zvládnout bootstrap, aby vytvořil sloupce stejné šířky: dva " col"
prvky=50 % šířka na každý sloupec, zatímco tři sloupce=33,33 % šířka na každý sloupec. Čtyři sloupce=25 % šířka atd. Můžete také použít .col-sm|md|lg|xl|xxl
, aby byly sloupce responzivní.
Následující tabulka shrnuje, jak mřížkový systém Bootstrap 5 funguje na různých velikostech obrazovky:
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 |