Mriežkový systém
Použite našu výkonnú mriežku flexboxov pre mobilné zariadenia na vytváranie rozložení všetkých tvarov a veľkostí vďaka dvanásťstĺpcovému systému, piatim predvoleným responzívnym vrstvám, premenným Sass a mixinom a desiatkam preddefinovaných tried.
Ako to funguje
Mriežkový systém Bootstrapu používa na rozloženie a zarovnanie obsahu sériu kontajnerov, riadkov a stĺpcov. Je postavený s flexboxom a je plne citlivý. Nižšie je uvedený príklad a hĺbkový pohľad na to, ako sa mriežka spája.
Ste novým používateľom flexboxu alebo ho ešte nepoznáte? Prečítajte si túto príručku CSS Tricks flexbox , kde nájdete pozadie, terminológiu, pokyny a úryvky kódu.
Vyššie uvedený príklad vytvorí tri stĺpce rovnakej šírky na malých, stredných, veľkých a extra veľkých zariadeniach pomocou našich preddefinovaných tried mriežky. Tieto stĺpce sú vycentrované na stránke s nadradeným .container
.
Keď to rozoberieme, funguje to takto:
- Kontajnery poskytujú prostriedky na vycentrovanie a vodorovné vloženie obsahu vašej lokality. Použite
.container
pre responzívnu šírku pixelov alebo.container-fluid
prewidth: 100%
všetky veľkosti zobrazovanej oblasti a zariadenia. - Riadky sú obaly pre stĺpce. Každý stĺp má vodorovný
padding
(nazývaný odkvap) na kontrolu priestoru medzi nimi. Topadding
sa potom vyrovnáva na riadkoch so zápornými okrajmi. Týmto spôsobom je všetok obsah vo vašich stĺpcoch vizuálne zarovnaný na ľavej strane. - V rozložení mriežky musí byť obsah umiestnený v stĺpcoch a iba stĺpce môžu byť priamymi potomkami riadkov.
- Vďaka flexboxu sa stĺpce mriežky bez špecifikácie
width
automaticky rozložia ako stĺpce rovnakej šírky. Napríklad štyri prípady.col-sm
budú mať každý automaticky šírku 25 % od malého bodu zlomu a vyššie. Ďalšie príklady nájdete v časti stĺpce automatického rozloženia . - Triedy stĺpcov označujú počet stĺpcov, ktoré by ste chceli použiť, z 12 možných na riadok. Ak teda chcete mať tri stĺpce rovnakej šírky, môžete použiť
.col-4
. - Stĺpce
width
sú nastavené v percentách, takže sú vždy plynulé a majú veľkosť vzhľadom na ich nadradený prvok. - Stĺpce sú horizontálne
padding
, aby sa vytvorili žľaby medzi jednotlivými stĺpmi, môžete ich však odstrániťmargin
z riadkov apadding
zo stĺpcov.no-gutters
pomocou.row
. - Aby mriežka reagovala, existuje päť bodov prerušenia mriežky, jeden pre každý citlivý bod prerušenia : všetky body prerušenia (extra malé), malé, stredné, veľké a extra veľké.
- Body prerušenia mriežky sú založené na dopytoch na médiá o minimálnej šírke, čo znamená, že sa vzťahujú na tento jeden bod prerušenia a všetky nad ním (napr. sa
.col-sm-4
vzťahujú na malé, stredné, veľké a extra veľké zariadenia, ale nie na prvýxs
bod prerušenia). - Na sémantické označenie môžete použiť preddefinované triedy mriežky (napríklad
.col-4
) alebo mixiny Sass .
Buďte si vedomí obmedzení a chýb okolo flexboxu , ako napríklad nemožnosť použiť niektoré HTML elementy ako flex kontajnery .
Možnosti mriežky
Zatiaľ čo Bootstrap používa em
s alebo rem
s na definovanie väčšiny veľkostí, px
s sa používajú na zarážky mriežky a šírky kontajnera. Je to preto, že šírka výrezu je v pixeloch a nemení sa s veľkosťou písma .
Pozrite sa, ako aspekty mriežkového systému Bootstrap fungujú na viacerých zariadeniach pomocou praktickej tabuľky.
Extra malý <576px |
Malé ≥ 576 pixelov |
Stredná ≥768 pixelov |
Veľký ≥992 pixelov |
Extra veľké ≥1200 pixelov |
|
---|---|---|---|---|---|
Maximálna šírka kontajnera | Žiadne (automaticky) | 540 pixelov | 720 pixelov | 960 pixelov | 1140 pixelov |
Predpona triedy | .col- |
.col-sm- |
.col-md- |
.col-lg- |
.col-xl- |
počet stĺpcov | 12 | ||||
Šírka odkvapu | 30 pixelov (15 pixelov na každej strane stĺpca) | ||||
Vnoriteľné | Áno | ||||
Usporiadanie stĺpcov | Áno |
Automatické rozloženie stĺpcov
Využite triedy stĺpcov špecifické pre bod prerušenia na jednoduché nastavenie veľkosti stĺpcov bez explicitnej očíslovanej triedy, ako je .col-sm-6
.
Rovnaká šírka
Tu sú napríklad dve rozloženia mriežky, ktoré sa vzťahujú na každé zariadenie a výrez, od xs
do xl
. Pridajte ľubovoľný počet tried bez jednotiek pre každý bod prerušenia, ktorý potrebujete, a každý stĺpec bude mať rovnakú šírku.
Viacriadkový rovnako široký
Vytvorte stĺpce rovnakej šírky, ktoré sa rozprestierajú na viacerých riadkoch, vložením písmena a .w-100
tam, kde sa majú stĺpce rozdeliť na nový riadok. Zabezpečte, aby prestávky reagovali zmiešaním .w-100
s niektorými responzívnymi zobrazovacími pomôckami .
Vyskytla sa chyba Safari flexbox , ktorá zabránila tomu, aby to fungovalo bez explicitného flex-basis
alebo border
. Existujú riešenia pre staršie verzie prehliadačov, ale nemali by byť potrebné, ak vaše cieľové prehliadače nespadajú do chybných verzií.
Nastavenie šírky jedného stĺpca
Automatické rozloženie pre stĺpce mriežky flexboxu tiež znamená, že môžete nastaviť šírku jedného stĺpca a nechať okolo neho automaticky meniť veľkosť súrodeneckých stĺpcov. Môžete použiť preddefinované triedy mriežky (ako je uvedené nižšie), mixy mriežok alebo šírky riadkov. Upozorňujeme, že veľkosť ostatných stĺpcov sa zmení bez ohľadu na šírku stredového stĺpca.
Obsah s premenlivou šírkou
Pomocou col-{breakpoint}-auto
tried upravte veľkosť stĺpcov na základe prirodzenej šírky ich obsahu.
Responzívne triedy
Mriežka Bootstrapu obsahuje päť úrovní preddefinovaných tried na vytváranie komplexných responzívnych rozložení. Prispôsobte veľkosť svojich stĺpcov na extra malých, malých, stredných, veľkých alebo extra veľkých zariadeniach, ako uznáte za vhodné.
Všetky body zlomu
Pre mriežky, ktoré sú rovnaké od najmenšieho zariadenia po najväčšie, použite triedy .col
a . .col-*
Zadajte očíslovanú triedu, keď potrebujete stĺpec obzvlášť veľkej veľkosti; inak sa kľudne držte .col
.
Naskladané do vodorovnej polohy
Pomocou jedinej sady .col-sm-*
tried môžete vytvoriť základný mriežkový systém, ktorý začína naskladaným a stáva sa horizontálnym pri malom bode prerušenia ( sm
).
Pomiešaj a vyber
Nechcete, aby sa vaše stĺpce jednoducho ukladali do niekoľkých vrstiev mriežky? Podľa potreby použite kombináciu rôznych tried pre každú úroveň. Pre lepšiu predstavu, ako to celé funguje, si pozrite príklad nižšie.
Odkvapy
Odkvapové žľaby môžu byť responzívne prispôsobené výplňou špecifickým pre bod zlomu a triedami užitočnosti zápornej marže. Ak chcete zmeniť odkvapy v danom riadku, spárujte obslužný program so zápornou maržou na zariadení .row
a zodpovedajúci obslužný program výplne na .col
s. Možno bude potrebné upraviť aj rodič .container
alebo rodič, aby sa predišlo nežiaducemu pretečeniu, pomocou znovu zodpovedajúceho nástroja na vypchávanie..container-fluid
Tu je príklad prispôsobenia mriežky Bootstrap pri veľkom bode lg
zlomu ( ) a vyššie. Zväčšili sme .col
výplň pomocou .px-lg-5
, vyrovnali sme tomu s .mx-lg-n5
na rodičovi .row
a potom sme upravili .container
obal pomocou .px-lg-5
.
Riadkové stĺpce
Pomocou responzívnych .row-cols-*
tried rýchlo nastavte počet stĺpcov, ktoré najlepšie vykreslia váš obsah a rozloženie. Zatiaľ čo normálne .col-*
triedy platia pre jednotlivé stĺpce (napr. .col-md-4
), triedy riadkových stĺpcov sú nastavené na rodičovi .row
ako skratka.
Pomocou týchto tried stĺpcov riadkov môžete rýchlo vytvoriť základné rozloženia mriežky alebo ovládať rozloženia kariet.
Môžete tiež použiť sprievodný mix Sass row-cols()
,:
Zarovnanie
Na vertikálne a horizontálne zarovnanie stĺpcov použite nástroje na zarovnanie flexboxu. Internet Explorer 10-11 nepodporuje vertikálne zarovnanie flexibilných položiek, ak má flexibilný kontajner symbol, min-height
ako je znázornené nižšie. Ďalšie podrobnosti nájdete v časti Flexbugs #3.
Vertikálne zarovnanie
Horizontálne zarovnanie
Žiadne odkvapy
Odkvapy medzi stĺpmi v našich preddefinovaných triedach mriežky je možné odstrániť pomocou .no-gutters
. Toto odstráni záporné margin
s .row
a horizontálne padding
zo všetkých bezprostredných podradených stĺpcov.
Tu je zdrojový kód na vytváranie týchto štýlov. Všimnite si, že prepisy stĺpcov sa vzťahujú len na prvé podradené stĺpce a sú zacielené prostredníctvom selektora atribútov . Aj keď to generuje špecifickejší selektor, výplň stĺpcov je možné ešte viac prispôsobiť pomocou nástrojov na úpravu medzier .
Potrebujete dizajn od okraja po okraj? Zahodiť rodiča .container
alebo .container-fluid
.
V praxi to vyzerá takto. Všimnite si, že to môžete naďalej používať so všetkými ostatnými preddefinovanými triedami mriežky (vrátane šírok stĺpcov, responzívnych vrstiev, zmien poradia a ďalších).
Obalenie stĺpcov
Ak je v jednom riadku umiestnených viac ako 12 stĺpcov, každá skupina ďalších stĺpcov sa ako jedna jednotka zalomí do nového riadku.
Keďže 9 + 4 = 13 > 12, tento 4-stĺpcový div sa zabalí do nového riadku ako jedna súvislá jednotka.
Nasledujúce stĺpce pokračujú pozdĺž nového riadku.
Stĺpec sa zlomí
Rozdelenie stĺpcov na nový riadok vo flexboxe vyžaduje malý hack: pridajte prvok s width: 100%
kdekoľvek chcete zalomiť stĺpce do nového riadku. Normálne sa to dosiahne pomocou viacerých .row
s, ale nie každá metóda implementácie to môže zodpovedať.
Túto prestávku môžete použiť aj v konkrétnych bodoch prerušenia pomocou našich pomôcok pre citlivé zobrazenie .
Zmena poradia
Objednať triedy
Použite .order-
triedy na ovládanie vizuálneho poradia vášho obsahu. Tieto triedy sú responzívne, takže môžete nastaviť order
bod prerušenia (napr. .order-1.order-md-2
). Zahŕňa podporu pre 1
cez 12
všetkých päť úrovní mriežky.
Existujú aj responzívne .order-first
a .order-last
triedy, ktoré menia order
element použitím order: -1
a order: 13
( order: $columns + 1
). Tieto triedy môžu byť .order-*
podľa potreby tiež zmiešané s očíslovanými triedami.
Odsadenie stĺpcov
Stĺpce mriežky môžete odsadiť dvoma spôsobmi: našimi responzívnymi .offset-
triedami mriežky a našimi nástrojmi na vytváranie okrajov . Triedy mriežky majú veľkosť tak, aby zodpovedali stĺpcom, zatiaľ čo okraje sú užitočnejšie pre rýchle rozloženia, kde je šírka odsadenia premenlivá.
Offsetové triedy
Presuňte stĺpce doprava pomocou .offset-md-*
tried. Tieto triedy zväčšujú ľavý okraj stĺpca o *
stĺpce. Napríklad .offset-md-4
prejde .col-md-4
cez štyri stĺpce.
Okrem vymazania stĺpcov pri responzívnych prerušovacích bodoch možno budete musieť vynulovať posuny. Pozrite si to v akcii v príklade mriežky .
Okrajové nástroje
S prechodom na flexbox vo verzii 4 môžete použiť pomocné nástroje okrajov, ako napríklad .mr-auto
vynútenie súrodeneckých stĺpcov od seba.
Hniezdenie
Ak chcete obsah vnoriť do predvolenej mriežky, pridajte nový stĺpec .row
a množinu .col-sm-*
stĺpcov do existujúceho .col-sm-*
stĺpca. Vnorené riadky by mali obsahovať množinu stĺpcov, ktorých súčet môže byť maximálne 12 (nevyžaduje sa, aby ste použili všetkých 12 dostupných stĺpcov).
Sass mixins
Pri používaní zdrojových súborov Sass od Bootstrapu máte možnosť použiť premenné a mixiny Sass na vytvorenie vlastných, sémantických a responzívnych rozložení stránok. Naše preddefinované triedy mriežky používajú tie isté premenné a mixiny, aby poskytli celú sadu tried pripravených na použitie pre rýchle reagujúce rozloženia.
Premenné
Premenné a mapy určujú počet stĺpcov, šírku medzery a bod mediálneho dotazu, v ktorom sa majú začať plávajúce stĺpce. Používame ich na generovanie preddefinovaných tried mriežky zdokumentovaných vyššie, ako aj pre vlastné mixy uvedené nižšie.
Mixins
Mixiny sa používajú v spojení s premennými mriežky na generovanie sémantických CSS pre jednotlivé stĺpce mriežky.
Príklad použitia
Premenné môžete upraviť na svoje vlastné hodnoty, alebo jednoducho použiť mixiny s ich predvolenými hodnotami. Tu je príklad použitia predvolených nastavení na vytvorenie rozloženia s dvoma stĺpcami s medzerou medzi nimi.
Prispôsobenie mriežky
Pomocou našich vstavaných premenných a máp mriežky Sass je možné úplne prispôsobiť preddefinované triedy mriežky. Zmeňte počet vrstiev, rozmery mediálnych dopytov a šírky kontajnera – potom znova skompilujte.
Stĺpy a žľaby
Počet stĺpcov mriežky je možné upraviť pomocou premenných Sass. $grid-columns
sa používa na generovanie šírky (v percentách) každého jednotlivého stĺpca a zároveň $grid-gutter-width
nastavuje šírku odkvapov stĺpcov.
Vrstvy mriežky
Ak prejdete za samotné stĺpce, môžete tiež prispôsobiť počet vrstiev mriežky. Ak by ste chceli iba štyri úrovne mriežky, aktualizovali by ste $grid-breakpoints
a $container-max-widths
na niečo takéto:
Pri vykonávaní akýchkoľvek zmien v premenných alebo mapách Sass budete musieť zmeny uložiť a prekompilovať. Ak tak urobíte, vytvorí sa úplne nová sada preddefinovaných tried mriežky pre šírky stĺpcov, posuny a zoradenie. Aktualizujú sa aj nástroje pre responzívnu viditeľnosť, aby používali vlastné body prerušenia. Nezabudnite nastaviť hodnoty mriežky v px
(nie rem
, em
, alebo %
).