Prehľad
Komponenty a možnosti na usporiadanie vášho projektu Bootstrap vrátane obalových kontajnerov, výkonného mriežkového systému, flexibilného mediálneho objektu a responzívnych pomocných tried.
Kontajnery
Kontajnery sú najzákladnejším prvkom rozloženia v Bootstrape a sú potrebné pri použití nášho predvoleného mriežkového systému . Kontajnery sa používajú na uloženie, vyplnenie a (niekedy) vycentrovanie obsahu v nich. Hoci kontajnery môžu byť vnorené, väčšina rozložení nevyžaduje vnorený kontajner.
Bootstrap sa dodáva s tromi rôznymi kontajnermi:
.container
, ktorý nastavuje amax-width
pri každom responzívnom bode prerušenia.container-fluid
, ktorá jewidth: 100%
vo všetkých bodoch zlomu.container-{breakpoint}
, čo jewidth: 100%
až do zadaného bodu zlomu
Nižšie uvedená tabuľka znázorňuje porovnanie jednotlivých kontajnerov max-width
s originálom .container
a .container-fluid
naprieč jednotlivými bodmi prerušenia.
Pozrite si ich v akcii a porovnajte ich v našom príklade mriežky .
Extra malý <576px |
Malé ≥ 576 pixelov |
Stredná ≥768 pixelov |
Veľký ≥992 pixelov |
Extra veľké ≥1200 pixelov |
|
---|---|---|---|---|---|
.container |
100% | 540 pixelov | 720 pixelov | 960 pixelov | 1140 pixelov |
.container-sm |
100% | 540 pixelov | 720 pixelov | 960 pixelov | 1140 pixelov |
.container-md |
100% | 100% | 720 pixelov | 960 pixelov | 1140 pixelov |
.container-lg |
100% | 100% | 100% | 960 pixelov | 1140 pixelov |
.container-xl |
100% | 100% | 100% | 100% | 1140 pixelov |
.container-fluid |
100% | 100% | 100% | 100% | 100% |
Všetko v jednom
Naša predvolená .container
trieda je responzívny kontajner s pevnou šírkou, čo znamená, že sa max-width
mení pri každom bode prerušenia.
<div class="container">
<!-- Content here -->
</div>
Tekutina
Použite .container-fluid
pre kontajner plnej šírky, ktorý pokrýva celú šírku výrezu.
<div class="container-fluid">
...
</div>
Responzívne
Responzívne kontajnery sú novinkou v Bootstrap v4.4. Umožňujú vám určiť triedu, ktorá je 100% široká, kým sa nedosiahne zadaný bod prerušenia, potom použijeme max-width
s pre každý z vyšších bodov prerušenia. Napríklad .container-sm
má 100 % šírku na začiatok, kým sm
sa nedosiahne bod prerušenia, kde sa zväčší pomocou md
, lg
, a xl
.
<div class="container-sm">100% wide until small breakpoint</div>
<div class="container-md">100% wide until medium breakpoint</div>
<div class="container-lg">100% wide until large breakpoint</div>
<div class="container-xl">100% wide until extra large breakpoint</div>
Responzívne body prerušenia
Keďže Bootstrap je vyvinutý ako prvý pre mobilné zariadenia, používame niekoľko mediálnych dopytov na vytvorenie rozumných bodov prerušenia pre naše rozloženia a rozhrania. Tieto body prerušenia sú väčšinou založené na minimálnych šírkach výrezu a umožňujú nám zväčšovať prvky pri zmene výrezu.
Bootstrap primárne používa nasledujúce rozsahy mediálnych dopytov – alebo body prerušenia – v našich zdrojových súboroch Sass pre naše rozloženie, mriežkový systém a komponenty.
// Extra small devices (portrait phones, less than 576px)
// No media query for `xs` since this is the default in Bootstrap
// Small devices (landscape phones, 576px and up)
@media (min-width: 576px) { ... }
// Medium devices (tablets, 768px and up)
@media (min-width: 768px) { ... }
// Large devices (desktops, 992px and up)
@media (min-width: 992px) { ... }
// Extra large devices (large desktops, 1200px and up)
@media (min-width: 1200px) { ... }
Keďže náš zdrojový CSS píšeme v Sass, všetky naše mediálne dopyty sú dostupné prostredníctvom mixov Sass:
// No media query necessary for xs breakpoint as it's effectively `@media (min-width: 0) { ... }`
@include media-breakpoint-up(sm) { ... }
@include media-breakpoint-up(md) { ... }
@include media-breakpoint-up(lg) { ... }
@include media-breakpoint-up(xl) { ... }
// Example: Hide starting at `min-width: 0`, and then show at the `sm` breakpoint
.custom-class {
display: none;
}
@include media-breakpoint-up(sm) {
.custom-class {
display: block;
}
}
Občas používame mediálne dopyty, ktoré idú opačným smerom (daná veľkosť obrazovky alebo menšia ):
// Extra small devices (portrait phones, less than 576px)
@media (max-width: 575.98px) { ... }
// Small devices (landscape phones, less than 768px)
@media (max-width: 767.98px) { ... }
// Medium devices (tablets, less than 992px)
@media (max-width: 991.98px) { ... }
// Large devices (desktops, less than 1200px)
@media (max-width: 1199.98px) { ... }
// Extra large devices (large desktops)
// No media query since the extra-large breakpoint has no upper bound on its width
min-
a max-
predpony a výrezy so zlomkovou šírkou (ktoré sa môžu vyskytnúť za určitých podmienok napríklad na zariadeniach s vysokým rozlíšením) pomocou hodnôt s vyššou presnosťou na tieto porovnania. .
Opäť platí, že tieto mediálne dopyty sú dostupné aj prostredníctvom mixov Sass:
@include media-breakpoint-down(xs) { ... }
@include media-breakpoint-down(sm) { ... }
@include media-breakpoint-down(md) { ... }
@include media-breakpoint-down(lg) { ... }
// No media query necessary for xl breakpoint as it has no upper bound on its width
// Example: Style from medium breakpoint and down
@include media-breakpoint-down(md) {
.custom-class {
display: block;
}
}
Existujú aj mediálne dopyty a mixiny na zacielenie na jeden segment veľkostí obrazoviek s použitím minimálnej a maximálnej šírky bodu zlomu.
// Extra small devices (portrait phones, less than 576px)
@media (max-width: 575.98px) { ... }
// Small devices (landscape phones, 576px and up)
@media (min-width: 576px) and (max-width: 767.98px) { ... }
// Medium devices (tablets, 768px and up)
@media (min-width: 768px) and (max-width: 991.98px) { ... }
// Large devices (desktops, 992px and up)
@media (min-width: 992px) and (max-width: 1199.98px) { ... }
// Extra large devices (large desktops, 1200px and up)
@media (min-width: 1200px) { ... }
Tieto mediálne dopyty sú dostupné aj cez Sass mixins:
@include media-breakpoint-only(xs) { ... }
@include media-breakpoint-only(sm) { ... }
@include media-breakpoint-only(md) { ... }
@include media-breakpoint-only(lg) { ... }
@include media-breakpoint-only(xl) { ... }
Podobne môžu mediálne dopyty pokrývať viacero šírok bodov prerušenia:
// Example
// Apply styles starting from medium devices and up to extra large devices
@media (min-width: 768px) and (max-width: 1199.98px) { ... }
Mix Sass na zacielenie na rovnaký rozsah veľkosti obrazovky by bol:
@include media-breakpoint-between(md, xl) { ... }
Z-index
Niekoľko komponentov Bootstrap využíva z-index
vlastnosť CSS, ktorá pomáha ovládať rozloženie tým, že poskytuje tretiu os na usporiadanie obsahu. V Bootstrape používame predvolenú mierku z-indexu, ktorá bola navrhnutá tak, aby správne vrstvila navigáciu, popisy a kontextové okná, modály a ďalšie.
Tieto vyššie hodnoty začínajú na ľubovoľnom čísle, dostatočne vysoké a špecifické, aby sa v ideálnom prípade zabránilo konfliktom. Potrebujeme ich štandardnú sadu v rámci našich vrstvených komponentov – popisy nástrojov, kontextové okná, navigačné panely, rozbaľovacie zoznamy, modály – aby sme mohli byť v správaní primerane konzistentní. Nie je dôvod, prečo by sme nemohli použiť 100
+ alebo 500
+.
Nepodporujeme prispôsobenie týchto individuálnych hodnôt; ak zmeníte jeden, pravdepodobne budete musieť zmeniť všetky.
$zindex-dropdown: 1000 !default;
$zindex-sticky: 1020 !default;
$zindex-fixed: 1030 !default;
$zindex-modal-backdrop: 1040 !default;
$zindex-modal: 1050 !default;
$zindex-popover: 1060 !default;
$zindex-tooltip: 1070 !default;
Aby sme zvládli prekrývajúce sa hranice v rámci komponentov (napr. tlačidlá a vstupy vo vstupných skupinách), používame nízke jednociferné z-index
hodnoty 1
, 2
, a 3
pre predvolené, visiace a aktívne stavy. Pri umiestnení kurzora myši/zameraní/aktívnej zobrazíme konkrétny prvok do popredia s vyššou z-index
hodnotou, aby sme ukázali jeho hranicu nad súrodeneckými prvkami.