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.
Cumu funziona
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 .
Opzioni di griglia
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è |
Colonne di layout autumàticu
Aduprate classi di colonna specifiche di breakpoint per un dimensionamentu di colonna faciule senza una classa numerata esplicita cum'è .col-sm-6
.
Uguali larghezza
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.
Multi-linea di uguale larghezza
Crea culonni di uguale larghezza chì spannu parechje linee 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 .
Ci era un bug di flexbox di Safari chì impedisce à questu di travaglià senza un esplicitu flex-basis
o border
. Ci sò solu solu per e versioni di u navigatore più vechje, ma ùn deve micca esse necessariu se i vostri navigatori di destinazione ùn sò micca in e versioni buggy.
Stabbilimentu di una larghezza di colonna
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.
Cuntenutu di larghezza variabile
Aduprate col-{breakpoint}-auto
classi per dimensionà e colonne basatu nantu à a larghezza naturale di u so cuntenutu.
Classi responsive
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.
Tutti i punti di rottura
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
.
Stacked à horizontale
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
).
Imbulighjate è abbinate
Ù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.
Gouttières
I gutters ponu esse aghjustati in modu responsive da padding specifichi di breakpoint è classi di utilità di margine negativu. Per cambià i canali in una fila data, accoppiate una utilità di margine negativu nantu à l' .row
utilità di padding currispondente nantu à u .col
s. U parente .container
o .container-fluid
pò esse bisognu di esse aghjustatu ancu per evità un overflow indesideratu, utilizendu di novu l'utilità di padding currispondente.
Eccu un esempiu di persunalizà a griglia Bootstrap à u grande ( lg
) breakpoint è sopra. Avemu aumentatu l' .col
imbottitura cù .px-lg-5
, cuntrastatu quellu cù .mx-lg-n5
u genitore .row
è dopu aghjustatu l' .container
involucro cù .px-lg-5
.
Colonne di fila
Aduprate e .row-cols-*
classi responsive per stabilisce rapidamente u nùmeru di colonne chì rende megliu u vostru cuntenutu è u layout. Mentre chì e classi nurmali .col-*
s'applicanu à e colonne individuali (per esempiu, .col-md-4
), e classi di e colonne di fila sò stabilite nantu à u genitore .row
cum'è un shortcut.
Aduprate queste classi di colonne di fila per creà rapidamente layout di griglia basi o per cuntrullà i vostri layout di carte.
Pudete ancu aduprà u Sass mixin accumpagnatu, row-cols()
:
Allineamentu
Aduprate l'utilità di allineamentu flexbox per allineà e colonne verticalmente è orizontali. Internet Explorer 10-11 ùn sustene micca l'allineamentu verticale di l'articuli flex quandu u container flex hà un min-height
cum'è mostratu quì sottu. Vede Flexbugs #3 per più dettagli.
Allineamentu verticale
Allineamentu horizontale
Nisuna canna
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ù).
Imballaggio di a colonna
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 colonna si rompe
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 .
Riordinu
Ordine classi
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.
Colonne di compensazione
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.
Classi offset
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 .
Utilità di margine
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.
Nidificazione
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).
Sass mixins
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
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.
Mixins
I mixins sò usati in cunghjunzione cù e variàbili di griglia per generà CSS semanticu per e colonne di griglia individuali.
Esempiu di usu
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à.
Personalizà a griglia
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.
Culonni è gronde
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.
Livelli di griglia
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 %
).