Mřížkový systém
Použijte naši výkonnou mobilní flexbox mřížku k vytvoření rozvržení všech tvarů a velikostí díky dvanácti sloupcovému systému, pěti výchozím responzivním úrovním, Sass proměnným a mixinům a desítkám předdefinovaných tříd.
Mřížkový systém Bootstrapu používá k rozvržení a zarovnání obsahu řadu kontejnerů, řádků a sloupců. Je postaven s flexboxem a je plně citlivý. Níže je uveden příklad a podrobný pohled na to, jak se mřížka spojuje.
Nový nebo neznáte flexbox? Přečtěte si tuto příručku CSS Tricks flexbox , kde najdete pozadí, terminologii, pokyny a úryvky kódu.
Výše uvedený příklad vytvoří tři sloupce stejné šířky na malých, středních, velkých a extra velkých zařízeních pomocí našich předdefinovaných tříd mřížky. Tyto sloupce jsou vycentrovány na stránce s nadřazeným prvkem .container
.
Když to rozebereme, funguje to takto:
- Kontejnery poskytují prostředky k vystředění a vodorovnému vyložení obsahu vašeho webu. Použijte
.container
pro responzivní šířku pixelů nebo.container-fluid
prowidth: 100%
všechny velikosti zobrazovaných oblastí a zařízení. - Řádky jsou obaly pro sloupce. Každý sloup má horizontální
padding
(tzv. okap) pro ovládání prostoru mezi nimi. Topadding
se pak vyrovnává na řádcích se zápornými okraji. Tímto způsobem je veškerý obsah ve vašich sloupcích vizuálně zarovnán po levé straně. - V rozvržení mřížky musí být obsah umístěn ve sloupcích a pouze sloupce mohou být přímými potomky řádků.
- Díky flexboxu se sloupce mřížky bez specifikovaného
width
automaticky rozloží jako sloupce stejné šířky. Například čtyři instance.col-sm
budou mít každý automaticky šířku 25 % od malého bodu přerušení a výše. Další příklady naleznete v části sloupce automatického rozvržení . - Třídy sloupců udávají počet sloupců, které chcete použít, z možných 12 na řádek. Pokud tedy chcete mít tři sloupce stejné šířky napříč, můžete použít
.col-4
. - Sloupce
width
jsou nastaveny v procentech, takže jsou vždy proměnlivé a mají velikost vzhledem k jejich nadřazenému prvku. - Sloupce jsou horizontální
padding
, aby se vytvořily okapy mezi jednotlivými sloupci, ale můžete je odstranitmargin
z řad apadding
ze sloupců.no-gutters
pomocí.row
. - Aby mřížka reagovala, existuje pět bodů přerušení mřížky, jeden pro každý citlivý bod přerušení : všechny body přerušení (extra malé), malé, střední, velké a extra velké.
- Zarážky mřížky jsou založeny na dotazech na minimální šířku média, což znamená, že se vztahují na tento jeden bod přerušení a všechny nad ním (např.
.col-sm-4
platí pro malá, střední, velká a extra velká zařízení, ale ne pro prvníxs
bod přerušení). - Pro sémantické označení můžete použít předdefinované třídy mřížky (jako
.col-4
) nebo mixiny Sass .
Buďte si vědomi omezení a chyb kolem flexboxu , jako je nemožnost použít některé HTML elementy jako flex kontejnery .
Zatímco Bootstrap používá em
s nebo rem
s pro definování většiny velikostí, px
s se používají pro zarážky mřížky a šířky kontejneru. Je to proto, že šířka výřezu je v pixelech a nemění se s velikostí písma .
Podívejte se, jak aspekty systému Bootstrap grid fungují na více zařízeních pomocí praktické tabulky.
Extra malý <576px |
Malý ≥576 pixelů |
Střední ≥768 pixelů |
Velké ≥992 pixelů |
Extra velký ≥1200px |
|
---|---|---|---|---|---|
Maximální šířka kontejneru | Žádné (automaticky) | 540 pixelů | 720 pixelů | 960 pixelů | 1140 pixelů |
Předpona třídy | .col- |
.col-sm- |
.col-md- |
.col-lg- |
.col-xl- |
počet sloupců | 12 | ||||
Šířka okapu | 30px (15px na každé straně sloupce) | ||||
Vnořitelný | Ano | ||||
Uspořádání sloupců | Ano |
Využijte třídy sloupců specifické pro bod přerušení pro snadné určování velikosti sloupců bez explicitní číslované třídy, jako je .col-sm-6
.
Zde jsou například dvě rozvržení mřížky, která platí pro každé zařízení a výřez, od xs
do xl
. Přidejte libovolný počet tříd bez jednotek pro každý bod přerušení, který potřebujete, a každý sloupec bude mít stejnou šířku.
Sloupce o stejné šířce lze rozdělit na více řádků, ale vyskytla se chyba flexboxu Safari , která zabránila tomu, aby to fungovalo bez explicitního flex-basis
nebo border
. Pro starší verze prohlížečů existují zástupná řešení, ale pokud máte aktuální verzi, neměla by být nutná.
Automatické rozvržení pro sloupce mřížky flexbox také znamená, že můžete nastavit šířku jednoho sloupce a nechat kolem něj automaticky měnit velikost sourozeneckých sloupců. Můžete použít předdefinované třídy mřížky (jak je znázorněno níže), mixy mřížky nebo šířky řádků. Všimněte si, že velikost ostatních sloupců se změní bez ohledu na šířku středového sloupce.
Pomocí col-{breakpoint}-auto
tříd upravte velikost sloupců na základě přirozené šířky jejich obsahu.
Vytvořte sloupce o stejné šířce, které se rozprostírají přes více řádků, vložením a .w-100
tam, kde chcete, aby se sloupce zalomily na nový řádek. Zajistěte, aby byly přestávky responzivní smícháním .w-100
s některými responzivními zobrazovacími nástroji .
Mřížka Bootstrapu obsahuje pět vrstev předdefinovaných tříd pro vytváření komplexních responzivních rozvržení. Přizpůsobte si velikost sloupců na extra malých, malých, středních, velkých nebo extra velkých zařízeních, jak uznáte za vhodné.
Pro mřížky, které jsou stejné od nejmenšího zařízení po největší, použijte třídy .col
a .col-*
. Zadejte očíslovanou třídu, když potřebujete sloupec zvláště velké velikosti; jinak se klidně držte .col
.
Pomocí jediné sady .col-sm-*
tříd můžete vytvořit základní mřížkový systém, který začíná skládaný a přechází v horizontální na malý bod přerušení ( sm
).
Nechcete, aby se vaše sloupce jednoduše skládaly do několika vrstev mřížky? Podle potřeby použijte kombinaci různých tříd pro každou úroveň. Pro lepší představu, jak to celé funguje, se podívejte na příklad níže.
Pro svislé a vodorovné zarovnání sloupců použijte nástroje pro zarovnání flexboxu.
Žlaby mezi sloupy v našich předdefinovaných třídách mřížky lze odstranit pomocí .no-gutters
. Tím se odstraní záporné margin
s .row
a vodorovné padding
ze všech přímých podřízených sloupců.
Zde je zdrojový kód pro vytváření těchto stylů. Všimněte si, že přepsání sloupců jsou omezena pouze na první podřízené sloupce a jsou cílena prostřednictvím selektoru atributů . I když to generuje specifičtější selektor, výplň sloupců lze ještě dále přizpůsobit pomocí nástrojů pro nastavení mezer .
Potřebujete design od okraje k okraji? Zahoďte rodič .container
nebo .container-fluid
.
V praxi to vypadá takto. Všimněte si, že to můžete i nadále používat se všemi ostatními předdefinovanými třídami mřížky (včetně šířek sloupců, responzivních vrstev, změn pořadí a dalších).
Pokud je v jednom řádku umístěno více než 12 sloupců, každá skupina nadbytečných sloupců se jako jedna jednotka zalomí do nového řádku.
Protože 9 + 4 = 13 > 12, tento 4sloupcový div se zabalí do nového řádku jako jedna souvislá jednotka.
Následující sloupce pokračují podél nového řádku.
Rozdělení sloupců na nový řádek ve flexboxu vyžaduje malý hack: přidejte prvek s width: 100%
kdekoli, kde chcete zalomit sloupce do nového řádku. Normálně je toho dosaženo s násobkem .row
s, ale ne každá metoda implementace to může vysvětlovat.
Tuto přestávku můžete také použít v určitých bodech přerušení pomocí našich responzivních zobrazovacích nástrojů .
Použijte .order-
třídy pro ovládání vizuálního pořadí vašeho obsahu. Tyto třídy jsou responzivní, takže můžete nastavit order
bod přerušení (např. .order-1.order-md-2
). Zahrnuje podporu pro 1
přes 12
všech pět vrstev mřížky.
Existují také responzivní třídy .order-first
a .order-last
třídy, které mění order
element použitím order: -1
a order: 13
( order: $columns + 1
). Tyto třídy lze také podle potřeby kombinovat s číslovanými .order-*
třídami.
Sloupce mřížky můžete odsadit dvěma způsoby: našimi responzivními .offset-
třídami mřížky a našimi nástroji pro okraje . Třídy mřížky mají velikost tak, aby odpovídaly sloupcům, zatímco okraje jsou užitečnější pro rychlé rozvržení, kde je šířka odsazení proměnná.
Přesunout sloupce doprava pomocí .offset-md-*
tříd. Tyto třídy zvětšují levý okraj sloupce o *
sloupce. Například .offset-md-4
přesune .col-md-4
přes čtyři sloupce.
Kromě vymazání sloupců v responzivních zarážkách může být nutné resetovat posuny. Podívejte se na to v akci v příkladu mřížky .
S přechodem na flexbox ve verzi 4 můžete použít nástroje pro okraje, jako .mr-auto
je vynucení sourozeneckých sloupců od sebe.
Chcete-li obsah vnořit do výchozí mřížky, přidejte do existujícího sloupce nový .row
a sadu sloupců . Vnořené řádky by měly obsahovat sadu sloupců, jejichž celkový počet je 12 nebo méně (není nutné použít všech 12 dostupných sloupců)..col-sm-*
.col-sm-*
Když používáte zdrojové soubory Sass Bootstrapu, máte možnost použít proměnné a mixiny Sass k vytvoření vlastních, sémantických a responzivních rozvržení stránky. Naše předdefinované třídy mřížky používají stejné proměnné a mixiny, aby poskytovaly celou sadu tříd připravených k použití pro rychle reagující rozvržení.
Proměnné a mapy určují počet sloupců, šířku mezery a bod dotazu na média, ve kterém mají začít plovoucí sloupce. Používáme je ke generování předdefinovaných tříd mřížky zdokumentovaných výše, stejně jako pro vlastní mixiny uvedené níže.
Mixiny se používají ve spojení s proměnnými mřížky ke generování sémantických CSS pro jednotlivé sloupce mřížky.
Proměnné můžete upravit na své vlastní hodnoty, nebo jen použít mixiny s jejich výchozími hodnotami. Zde je příklad použití výchozího nastavení k vytvoření rozvržení se dvěma sloupci s mezerou mezi nimi.
Pomocí našich vestavěných proměnných a map Sass mřížky je možné zcela přizpůsobit předdefinované třídy mřížky. Změňte počet vrstev, rozměry dotazu na média a šířky kontejneru – poté znovu zkompilujte.
Počet sloupců mřížky lze upravit pomocí proměnných Sass. $grid-columns
se používá ke generování šířek (v procentech) každého jednotlivého sloupce a zároveň $grid-gutter-width
nastavuje šířku okapů sloupců.
Pokud se přesunete za samotné sloupce, můžete také upravit počet vrstev mřížky. Pokud byste chtěli pouze čtyři úrovně mřížky, aktualizovali byste $grid-breakpoints
a $container-max-widths
na něco takového:
Při provádění jakýchkoli změn v proměnných nebo mapách Sass budete muset změny uložit a znovu zkompilovat. Pokud tak učiníte, bude výstupem zcela nová sada předdefinovaných tříd mřížky pro šířky sloupců, odsazení a řazení. Budou také aktualizovány nástroje pro responzivní viditelnost, aby mohly používat vlastní zarážky. Nezapomeňte nastavit hodnoty mřížky v px
(nikoli rem
, em
, nebo %
).