Sistema di griglia
Aduprate a nostra putente griglia flexbox mobile-first per custruisce layout di tutte e forme è dimensioni grazie à un sistema di dodici colonne, cinque livelli di risposta predefiniti, variabili Sass è mixin, è decine di classi predefinite.
U sistema di griglia di Bootstrap usa una seria di cuntenituri, fila è colonne per mette è allineà u cuntenutu. Hè custruitu cù flexbox è hè cumplettamente reattivu. Quì sottu hè un esempiu è un sguardu in prufundità di cumu si riunisce a griglia.
Novu o micca familiarizatu cù flexbox? Leghjite sta guida CSS Tricks flexbox per sfondate, terminologia, linee guida è frammenti di codice.
L'esempiu di sopra crea trè culonni di larghezza uguale nantu à i dispositi chjuchi, medii, grandi è extra grande chì utilizanu e nostre classi di griglia predefinite. Quelli culonni sò centrati in a pagina cù u parent .container
.
Distrughjendu, eccu cumu funziona:
- I cuntenituri furniscenu un mezzu per centru è pad horizontalmente u cuntenutu di u vostru situ. Aduprate
.container
per una larghezza di pixel responsive o.container-fluid
perwidth: 100%
tutte e dimensioni di i vetri è di i dispositi. - E fila sò wrappers per e colonne. Ogni culonna hà horizontale
padding
(chjamatu gutter) per cuntrullà u spaziu trà elli. Questupadding
hè allora contru à e fila cù marghjini negativi. Questu modu, tuttu u cuntenutu in i vostri culonni hè visualmente allinatu in u latu manca. - In un layout di griglia, u cuntenutu deve esse piazzatu in e culonne è solu e culonne ponu esse figlioli immediati di fila.
- Grazie à flexbox, e colonne di griglia senza una specificazione
width
saranu automaticamente disposte cum'è colonne di larghezza uguale. Per esempiu, quattru istanze di.col-sm
ogni sarà automaticamente 25% larga da u picculu breakpoint è up. Vede a sezione di e colonne di layout automaticu per più esempi. - E classi di colonna indicanu u numeru di colonne chì vulete usà fora di e pussibuli 12 per fila. Allora, se vulete trè colonne di larghezza uguale, pudete aduprà
.col-4
. - A colonna
width
sò stabilite in percentuali, cusì sò sempre fluidi è dimensionati relative à u so elementu parent. - I culonni anu horizontale
padding
per creà i canali trà e colonne individuali, in ogni modu, pudete caccià umargin
da e fila èpadding
da e culonni cù.no-gutters
nantu à u.row
. - Per fà chì a griglia risponda, ci sò cinque punti di rottura di a griglia, unu per ogni puntu d'interruzzione di risposta : tutti i punti di rottura (extra small), small, medium, large, and extra large.
- I punti di rottura di a griglia sò basati nantu à e dumande di media di larghezza minima, vale à dì chì s'applicanu à quellu puntu di rottura è tutti quelli chì sò sopra (per esempiu,
.col-sm-4
s'applicanu à i dispositi chjuchi, medii, grandi è extra grande, ma micca u primu puntu dixs
rottura). - Pudete utilizà classi di griglia predefinite (cum'è
.col-4
) o Sass mixins per un marcatu più semanticu.
Siate cuscenti di e limitazioni è di i bug intornu à flexbox , cum'è l' incapacità di utilizà certi elementi HTML cum'è contenitori flex .
Mentre Bootstrap usa em
s o rem
s per definisce a maiò parte di e dimensioni, px
s sò usati per i punti di rottura di a griglia è a larghezza di u containeru. Questu hè chì a larghezza di a finestra hè in pixel è ùn cambia micca cù a dimensione di font .
Vede cumu l'aspetti di u sistema di griglia Bootstrap funzionanu in parechji dispositi cù una tavola pratica.
Extra picculu <576px |
Picculu ≥576px |
Mediu ≥768px |
Grande ≥992px |
Extra large ≥1200px |
|
---|---|---|---|---|---|
Larghezza massima di u containeru | Nisunu (auto) | 540 px | 720 px | 960 px | 1140 px |
Prefissu di classa | .col- |
.col-sm- |
.col-md- |
.col-lg- |
.col-xl- |
# di culonni | 12 | ||||
Larghezza di gutter | 30px (15px da ogni latu di una colonna) | ||||
Nestabile | Iè | ||||
Ordine di a colonna | Iè |
Aduprate classi di colonna specifiche di breakpoint per un dimensionamentu di colonna faciule senza una classa numerata esplicita cum'è .col-sm-6
.
Per esempiu, quì sò dui layout di griglia chì s'applicanu à ogni dispusitivu è viewport, da xs
à xl
. Aghjunghjite ogni numeru di classi senza unità per ogni breakpoint chì avete bisognu è ogni colonna serà a stessa larghezza.
E colonne di uguale larghezza ponu esse divise in parechje linee, ma ci era un bug di flexbox Safari chì impedia questu di travaglià senza esplicitu flex-basis
o border
. Ci sò solu solu per e versioni di u navigatore più vechje, ma ùn deve micca esse necessariu sè site aghjurnatu.
L'auto-disposizione per e colonne di griglia di flexbox significa ancu chì pudete stabilisce a larghezza di una colonna è avè e culonne di i fratelli ridimensionate automaticamente intornu. Pudete utilizà classi di griglia predefinite (cum'è mostratu quì sottu), mixins di griglia, o larghezze in linea. Innota chì l'altri culonni resizeranu ùn importa micca a larghezza di a colonna centrale.
Aduprate col-{breakpoint}-auto
classi per dimensionà e colonne basatu nantu à a larghezza naturale di u so cuntenutu.
Crea culonni di uguale larghezza chì spannu parechje fila inserendu un .w-100
induve vulete chì e colonne si rompenu à una nova linea. Fate i pause rispunsevuli mischjendu .w-100
cù alcune utilità di visualizazione rispunsevuli .
A griglia di Bootstrap include cinque livelli di classi predefinite per a creazione di layout responsivi cumplessi. Personalizà a dimensione di e vostre culonne nantu à i dispositi extra chjuchi, chjuchi, medii, grandi, o extra-grandi cumu vedete adattatu.
Per e griglie chì sò listessi da u più chjucu di i dispositi à u più grande, utilizate .col
e .col-*
classi. Specificate una classa numerata quandu avete bisognu di una colonna particularmente grande; altrimenti, sentite liberu di attaccà à .col
.
Utilizendu un unicu inseme di .col-sm-*
classi, pudete creà un sistema di griglia basica chì principia in stack è diventa horizontale à u picculu breakpoint ( sm
).
Ùn vogliu micca chì e vostre colonne si impilate solu in certi livelli di griglia? Aduprate una cumminazione di diverse classi per ogni livellu quantu necessariu. Vede l'esempiu quì sottu per una idea megliu di cumu tuttu funziona.
Aduprate l'utilità di allineamentu flexbox per allineà e colonne verticalmente è orizontali.
I canali trà e colonne in e nostre classi di griglia predefinite ponu esse eliminati cù .no-gutters
. Questu sguassate u negativu margin
s da .row
è l'orizontale padding
da tutti i culonni di i zitelli immediata.
Eccu u codice fonte per creà sti stili. Innota chì l'override di e colonne sò scopre solu à e prime colonne di i zitelli è sò destinati via u selettore di attributi . Mentre chì questu genera un selettore più specificu, u padding di colonna pò ancu esse più persunalizatu cù utilità di spaziatura .
Avete bisognu di un disignu di punta à punta? Abbandunate u genitore .container
o .container-fluid
.
In pratica, eccu cumu si vede. Nota chì pudete cuntinuà aduprà questu cù tutte l'altri classi di griglia predefiniti (cumprese larghezza di colonna, livelli responsivi, riordini, è più).
Se più di 12 culonni sò posti in una sola fila, ogni gruppu di colonne extra, cum'è una unità, si mette in una nova linea.
Siccomu 9 + 4 = 13 > 12, stu div di 4-column-wide si mette in una nova linea cum'è una unità cuntigua.
successivi cuntinueghjanu longu a nova linea.
A rottura di e colonne à una nova linea in flexbox richiede un picculu pirate: aghjunghje un elementu cù width: 100%
induve vulete imbulighjà e vostre colonne in una nova linea. Normalmente questu hè realizatu cù parechje .row
s, ma micca ogni metudu di implementazione pò cuntà per questu.
Pudete ancu applicà sta pausa à punti di rottura specifichi cù e nostre utilità di visualizazione rispunsevuli .
Aduprate .order-
classi per cuntrullà l'ordine visuale di u vostru cuntenutu. Queste classi sò responsive, cusì pudete stabilisce u order
per breakpoint (per esempiu, .order-1.order-md-2
). Include supportu 1
attraversu 12
tutti i cinque livelli di griglia.
Ci sò ancu rispunsevuli .order-first
è .order-last
classi chì cambianu l' order
elementu applicà order: -1
è order: 13
( order: $columns + 1
), rispettivamente. Queste classi ponu ancu esse mischiate cù e classi numerate .order-*
cum'è necessariu.
Pudete cumpensà e colonne di griglia in dui modi: e nostre .offset-
classi di griglia responsive è e nostre utilità di margine . E classi di griglia sò dimensionate per currisponde à e colonne mentre i marghjini sò più utili per i layout rapidi induve a larghezza di l'offset hè variabile.
Sposta e colonne à a diritta usendu .offset-md-*
classi. Queste classi aumentanu u margine di manca di una colonna per *
colonne. Per esempiu, .offset-md-4
si move .col-md-4
nantu à quattru culonni.
In più di l'eliminazione di a colonna à i punti d'interruzione responsive, pudete avè bisognu di resettate l'offsets. Vede questu in azzione in l'esempiu di griglia .
Cù u muvimentu in flexbox in v4, pudete aduprà l'utilità di marghjini cum'è .mr-auto
per furzà e colonne frateddi alluntanate l'una da l'altru.
Per nidificà u vostru cuntenutu cù a griglia predeterminata, aghjunghje un novu .row
è un set di .col-sm-*
colonne in una colonna esistente .col-sm-*
. E fila nidificate duveranu include un inseme di colonne chì aghjunghjenu à 12 o menu (ùn hè micca necessariu chì utilizate tutte e 12 colonne dispunibuli).
Quandu aduprate i schedarii Sass sorgenti di Bootstrap, avete l'opzione di utilizà variabili Sass è mixins per creà layout di pagina persunalizati, semantici è responsivi. E nostre classi di griglia predefinite utilizanu sti stessi variabili è mixin per furnisce una suite intera di classi pronte per l'usu per layout di rispunsibilità rapida.
Variabili è carte determinanu u numeru di colonne, a larghezza di u canale, è u puntu di dumanda di media à quale principià e colonne flottanti. Utilizemu questi per generà e classi di griglia predefinite documentate sopra, è ancu per i mixins persunalizati elencati quì sottu.
I mixins sò usati in cunghjunzione cù e variàbili di griglia per generà CSS semanticu per e colonne di griglia individuali.
Pudete mudificà e variàbili à i vostri valori persunalizati, o solu aduprà i mixins cù i so valori predeterminati. Eccu un esempiu di usu di i paràmetri predeterminati per creà un layout di dui culonne cù un spaziu trà.
Utilizendu e nostre variabili è carte Sass di griglia integrata, hè pussibule persunalizà cumplettamente e classi di griglia predefinite. Cambia u nùmeru di livelli, e dimensioni di a dumanda di media, è a larghezza di u containeru, dopu ricompilate.
U numaru di culonni di griglia pò esse mudificatu via variàbili Sass. $grid-columns
hè utilizatu per generà l'larghezza (in per centu) di ogni colonna individuali mentre $grid-gutter-width
stabilisce a larghezza per i canali di colonna.
Trascendendu oltre e colonne stesse, pudete ancu persunalizà u numeru di livelli di griglia. Se vulete solu quattru livelli di griglia, aghjurnà u $grid-breakpoints
è $container-max-widths
à qualcosa cum'è questu:
Quandu fate qualsiasi cambiamenti à e variabili Sass o carte, avete bisognu di salvà i vostri cambiamenti è recompilà. Facendu cusì, pruducerà un novu set di classi di griglia predefinite per larghezza di colonna, offsets è ordine. L'utilità di visibilità responsive seranu ancu aghjurnate per utilizà i punti di rottura persunalizati. Assicuratevi di stabilisce i valori di griglia in px
(micca rem
, em
o %
).