Režģa sistēma
Izmantojiet mūsu jaudīgo mobilajām ierīcēm paredzēto flexbox režģi, lai izveidotu visu formu un izmēru izkārtojumus, pateicoties divpadsmit kolonnu sistēmai, pieciem noklusējuma reaģējošiem līmeņiem, Sass mainīgajiem un mixiniem, kā arī desmitiem iepriekš definētu klašu.
Bootstrap režģa sistēma izmanto virkni konteineru, rindu un kolonnu, lai izkārtotu un izlīdzinātu saturu. Tas ir izveidots ar flexbox un pilnībā reaģē. Tālāk ir sniegts piemērs un padziļināts ieskats režģa veidošanā.
Vai esat jauns vai nepazīstat flexbox? Izlasiet šo CSS triku flexbox rokasgrāmatu , lai uzzinātu pamatinformāciju, terminoloģiju, vadlīnijas un koda fragmentus.
Iepriekš minētajā piemērā tiek izveidotas trīs vienāda platuma kolonnas mazās, vidējās, lielās un īpaši lielās ierīcēs, izmantojot mūsu iepriekš definētās režģa klases. Šīs kolonnas ir centrētas lapā ar vecāku .container
.
Sadalot to, tas darbojas šādi:
- Konteineri nodrošina iespēju centrēt un horizontāli polsterēt jūsu vietnes saturu. Izmantojiet
.container
adaptīvam pikseļu platumam vai.container-fluid
visiemwidth: 100%
skata loga un ierīces izmēriem. - Rindas ir kolonnu iesaiņojumi. Katrai kolonnai ir horizontāla
padding
(saukta par noteku), lai kontrolētu atstarpi starp tām. Pēcpadding
tam tas tiek neitralizēts rindās ar negatīvām starpībām. Tādējādi viss jūsu sleju saturs tiek vizuāli izlīdzināts kreisajā pusē. - Režģa izkārtojumā saturs ir jāievieto kolonnās, un tikai kolonnas var būt tiešie rindu atvasinājumi.
- Pateicoties flexbox, režģa kolonnas bez noteiktas
width
tiks automātiski izkārtotas kā vienāda platuma kolonnas. Piemēram, četri gadījumi.col-sm
automātiski būs 25% platumā no mazā pārtraukuma punkta un uz augšu. Vairāk piemēru skatiet sadaļā Automātiskā izkārtojuma kolonnas . - Kolonnu klases norāda kolonnu skaitu, ko vēlaties izmantot no 12 iespējamajām rindām. Tātad, ja vēlaties trīs vienāda platuma kolonnas šķērsām, varat izmantot
.col-4
. - Kolonnas
width
s ir iestatītas procentos, tāpēc tās vienmēr ir mainīgas un izmērītas attiecībā pret galveno elementu. - Kolonnām ir horizontāli
padding
, lai izveidotu notekcaurules starp atsevišķām kolonnām, taču jūs varat noņemtmargin
no rindām unpadding
kolonnām.no-gutters
, izmantojot.row
. - Lai režģis būtu adaptīvs, ir pieci režģa pārtraukuma punkti, viens katram adaptīvajam pārtraukuma punktam : visi pārtraukuma punkti (īpaši mazi), mazi, vidēji, lieli un īpaši lieli.
- Režģa pārtraukuma punkti ir balstīti uz minimālā platuma multivides vaicājumiem, kas nozīmē, ka tie attiecas uz šo vienu pārtraukuma punktu un visiem tiem, kas atrodas virs tā (piemēram,
.col-sm-4
attiecas uz mazām, vidējām, lielām un īpaši lielām ierīcēm, bet ne uz pirmoxs
pārtraukuma punktu). - Varat izmantot iepriekš definētas režģa klases (piemēram,
.col-4
) vai Sass mixins , lai iegūtu vairāk semantiskas iezīmēšanas.
Ņemiet vērā ierobežojumus un kļūdas saistībā ar flexbox , piemēram, nespēju izmantot dažus HTML elementus kā elastīgus konteinerus .
Lai gan Bootstrap izmanto em
s vai rem
s, lai definētu lielāko daļu izmēru, px
s tiek izmantoti režģa pārtraukuma punktiem un konteineru platumiem. Tas ir tāpēc, ka skata loga platums ir norādīts pikseļos un nemainās līdz ar fonta lielumu .
Skatiet, kā Bootstrap režģa sistēmas aspekti darbojas vairākās ierīcēs, izmantojot ērtu tabulu.
Īpaši mazs <576 pikseļi |
Mazs ≥576 pikseļi |
Vidēja ≥768 pikseļi |
Liels ≥992 pikseļi |
Īpaši liels ≥1200 pikseļi |
|
---|---|---|---|---|---|
Maksimālais konteinera platums | Nav (automātiski) | 540 pikseļi | 720 pikseļi | 960 pikseļi | 1140 pikseļi |
Klases prefikss | .col- |
.col-sm- |
.col-md- |
.col-lg- |
.col-xl- |
Kolonnu skaits | 12 | ||||
Notekas platums | 30 pikseļi (15 pikseļi katrā kolonnas pusē) | ||||
Nestabils | Jā | ||||
Kolonnu sakārtošana | Jā |
Izmantojiet pārtraukuma punktam raksturīgās kolonnu klases, lai atvieglotu kolonnu lieluma noteikšanu bez nepārprotamas numurētas klases, piemēram, .col-sm-6
.
Piemēram, šeit ir divi režģa izkārtojumi, kas attiecas uz katru ierīci un skata logu, no xs
līdz xl
. Pievienojiet neierobežotu skaitu klases bez vienībām katram nepieciešamajam pārtraukuma punktam, un katra kolonna būs vienāda platuma.
Vienāda platuma kolonnas var sadalīt vairākās rindās, taču bija Safari flexbox kļūda , kas neļāva tai darboties bez tiešas flex-basis
vai border
. Ir risinājumi vecākām pārlūkprogrammu versijām, taču tie nav nepieciešami, ja esat atjaunināts.
Flexbox režģa kolonnu automātiskais izkārtojums arī nozīmē, ka varat iestatīt vienas kolonnas platumu un automātiski mainīt ap to esošo kolonnu izmērus. Varat izmantot iepriekš definētas režģa klases (kā parādīts zemāk), režģa kombinācijas vai iekļauto platumu. Ņemiet vērā, ka pārējās kolonnas tiks mainītas neatkarīgi no centrālās kolonnas platuma.
Izmantojiet col-{breakpoint}-auto
klases, lai iestatītu kolonnu izmērus, pamatojoties uz to satura dabisko platumu.
Izveidojiet vienāda platuma kolonnas, kas aptver vairākas rindas, ievietojot vietu, .w-100
kur vēlaties, lai kolonnas pāriet uz jaunu rindiņu. Padariet pārtraukumus atsaucīgus, sajaucot .w-100
ar dažām adaptīvām displeja utilītprogrammām .
Bootstrap režģī ir iekļauti pieci iepriekš definētu klašu līmeņi, lai izveidotu sarežģītus, atsaucīgus izkārtojumus. Pielāgojiet sleju izmērus īpaši mazās, mazās, vidējās, lielās vai īpaši lielās ierīcēs, kā vien vēlaties.
Režģiem, kas ir vienādi no mazākajām ierīcēm līdz lielākajiem, izmantojiet .col
un .col-*
klases. Norādiet numurētu klasi, ja nepieciešama īpaša izmēra kolonna; pretējā gadījumā jūtieties brīvi pieturēties pie .col
.
Izmantojot vienu .col-sm-*
klašu kopu, varat izveidot pamata režģa sistēmu, kas sākas sakrauta un kļūst horizontāla mazajā pārtraukuma punktā ( sm
).
Vai nevēlaties, lai jūsu kolonnas vienkārši tiktu sakrautas dažos režģa līmeņos? Katram līmenim pēc vajadzības izmantojiet dažādu klašu kombināciju. Skatiet tālāk sniegto piemēru, lai iegūtu labāku priekšstatu par to, kā tas viss darbojas.
Izmantojiet flexbox līdzināšanas utilītas, lai vertikāli un horizontāli izlīdzinātu kolonnas.
Notekcaurules starp kolonnām mūsu iepriekš definētajās režģa klasēs var noņemt, izmantojot .no-gutters
. Tādējādi tiek noņemts negatīvais margin
s no visām tiešajām atvasinātajām kolonnām .row
un horizontālā vērtība.padding
Šeit ir avota kods šo stilu izveidei. Ņemiet vērā, ka kolonnu ignorēšanas tvērums attiecas tikai uz pirmajām pakārtotajām kolonnām un tiek atlasīts, izmantojot atribūtu atlasītāju . Lai gan tas ģenerē specifiskāku atlasītāju, kolonnu polsterējumu joprojām var pielāgot, izmantojot atstarpju utilītas .
Nepieciešams dizains no malas līdz malai? Atlaidiet vecāku .container
vai .container-fluid
.
Praksē tas izskatās šādi. Ņemiet vērā, ka varat turpināt to izmantot ar visām pārējām iepriekš definētajām režģa klasēm (tostarp kolonnu platumiem, adaptīviem līmeņiem, pārkārtojumiem un citiem).
Ja vienā rindā ir ievietotas vairāk nekā 12 kolonnas, katra papildu kolonnu grupa kā viena vienība tiks aplauzta jaunā rindā.
Tā kā 9 + 4 = 13 > 12, šis 4 kolonnu platums tiek ietīts jaunā rindā kā viena blakus vienība.
Nākamās kolonnas turpinās pa jauno līniju.
Lai sadalītu kolonnas uz jaunu rindiņu programmā flexbox, ir nepieciešams neliels uzlauzums: pievienojiet elementu ar vietu, width: 100%
kur vēlaties aplauzt kolonnas, jaunai rindai. Parasti tas tiek paveikts ar vairākiem .row
s, bet ne katra ieviešanas metode var to ņemt vērā.
Varat arī lietot šo pārtraukumu noteiktos pārtraukuma punktos, izmantojot mūsu adaptīvās displeja utilītas .
Izmantojiet .order-
klases, lai kontrolētu sava satura vizuālo secību . Šīs klases ir adaptīvas, tāpēc varat iestatīt order
pēc pārtraukuma punktu (piemēram, .order-1.order-md-2
). Ietver atbalstu 1
caurbraukšanai 12
visos piecos režģa līmeņos.
Ir arī adaptīvās .order-first
un .order-last
klases, kas maina order
elementa vērtību, attiecīgi piemērojot order: -1
un order: 13
( order: $columns + 1
). Šīs nodarbības pēc vajadzības var arī sajaukt ar numurētajām .order-*
klasēm.
Varat kompensēt režģa kolonnas divos veidos: mūsu adaptīvās .offset-
režģa klases un mūsu rezerves utilītas . Režģa klases ir pielāgotas kolonnām, savukārt piemales ir noderīgākas ātrajiem izkārtojumiem, kur nobīdes platums ir mainīgs.
Pārvietojiet kolonnas pa labi, izmantojot .offset-md-*
klases. Šīs klases palielina kolonnas kreiso malu par *
kolonnām. Piemēram, .offset-md-4
pārvietojas .col-md-4
pa četrām kolonnām.
Papildus kolonnu dzēšanai adaptīvos pārtraukumpunktos, iespējams, būs jāatiestata nobīdes. Skatiet to darbībā režģa piemērā .
Pārejot uz flexbox 4. versijā, varat izmantot piemales utilītprogrammas, piemēram .mr-auto
, lai piespiestu kolonnas atdalīt vienu no otras.
Lai ligzdotu saturu ar noklusējuma režģi, esošajā kolonnā pievienojiet jaunu kolonnu .row
kopu . Ligzdotajās rindās ir jāietver kolonnu kopa, kurā ir 12 vai mazāk (nav obligāti jāizmanto visas 12 pieejamās kolonnas)..col-sm-*
.col-sm-*
Izmantojot Bootstrap avota Sass failus, jums ir iespēja izmantot Sass mainīgos un mixins, lai izveidotu pielāgotus, semantiskus un atsaucīgus lapu izkārtojumus. Mūsu iepriekš definētās režģa klases izmanto šos pašus mainīgos un miksus, lai nodrošinātu visu lietošanai gatavu klašu komplektu ātri reaģējošiem izkārtojumiem.
Mainīgie un kartes nosaka kolonnu skaitu, notekas platumu un multivides vaicājuma punktu, kurā sākt peldošās kolonnas. Mēs tos izmantojam, lai ģenerētu iepriekš definētās režģa klases, kas dokumentētas iepriekš, kā arī tālāk uzskaitītajiem pielāgotajiem maisījumiem.
Mixins tiek izmantoti kopā ar režģa mainīgajiem, lai ģenerētu semantisko CSS atsevišķām režģa kolonnām.
Varat modificēt mainīgos uz savām pielāgotajām vērtībām vai vienkārši izmantot mixinus ar to noklusējuma vērtībām. Šeit ir piemērs noklusējuma iestatījumu izmantošanai, lai izveidotu divu kolonnu izkārtojumu ar atstarpi.
Izmantojot mūsu iebūvētos režģa Sass mainīgos un kartes, ir iespējams pilnībā pielāgot iepriekš definētās režģa klases. Mainiet līmeņu skaitu, multivides vaicājuma izmērus un konteinera platumus un pēc tam atkārtoti kompilējiet.
Režģa kolonnu skaitu var mainīt, izmantojot Sass mainīgos. $grid-columns
tiek izmantots, lai ģenerētu katras atsevišķas kolonnas platumu (procentos), vienlaikus $grid-gutter-width
iestatot kolonnu noteku platumu.
Pārvietojoties ārpus pašām kolonnām, varat arī pielāgot režģa līmeņu skaitu. Ja vēlaties tikai četrus režģa līmeņus, atjauniniet $grid-breakpoints
un $container-max-widths
uz kaut ko līdzīgu:
Veicot izmaiņas Sass mainīgajos vai kartēs, izmaiņas ir jāsaglabā un jāpārkompilē. To darot, tiks izvadīta pavisam jauna iepriekš definētu režģa klašu kopa kolonnu platumam, nobīdēm un secībai. Tiks atjauninātas arī atsaucīgās redzamības utilītas, lai izmantotu pielāgotos pārtraukumpunktus. Noteikti iestatiet režģa vērtības px
(nevis rem
, em
, vai %
).