Mrežni sustav
Upotrijebite našu snažnu flexbox mrežu za mobilne uređaje za izradu izgleda svih oblika i veličina zahvaljujući sustavu od dvanaest stupaca, pet zadanih responzivnih razina, Sass varijablama i mixinovima te desecima unaprijed definiranih klasa.
Kako radi
Bootstrapov mrežni sustav koristi seriju spremnika, redaka i stupaca za raspored i poravnavanje sadržaja. Izrađen je s flexboxom i potpuno je osjetljiv. U nastavku je primjer i detaljan pogled na to kako se mreža sastavlja.
Novi ste ili niste upoznati s flexboxom? Pročitajte ovaj CSS Tricks flexbox vodič za pozadinu, terminologiju, smjernice i isječke koda.
Gornji primjer stvara tri stupca jednake širine na malim, srednjim, velikim i ekstra velikim uređajima pomoću naših unaprijed definiranih klasa mreže. Ti su stupci centrirani na stranici s roditeljem .container
.
Ukratko, evo kako funkcionira:
- Kontejneri omogućuju centriranje i vodoravno postavljanje sadržaja vaše stranice. Koristite
.container
za responzivnu širinu piksela ili.container-fluid
zawidth: 100%
sve veličine prikaza i uređaja. - Redovi su omoti za stupce. Svaki stup ima vodoravni
padding
(koji se naziva oluk) za kontrolu prostora između njih. Topadding
se zatim kompenzira na redovima s negativnim marginama. Na taj je način sav sadržaj u vašim stupcima vizualno poravnat s lijeve strane. - U rasporedu mreže, sadržaj mora biti postavljen unutar stupaca i samo stupci mogu biti neposredni potomci redaka.
- Zahvaljujući flexboxu, stupci mreže bez navedenog
width
automatski će izgledati kao stupci jednake širine. Na primjer,.col-sm
svaka od četiri instance automatski će biti široka 25% od male prijelomne točke pa naviše. Više primjera potražite u odjeljku stupaca s automatskim rasporedom . - Klase stupaca označavaju broj stupaca koje želite koristiti od mogućih 12 po retku. Dakle, ako želite tri stupca jednake širine, možete koristiti
.col-4
. - Stupci
width
su postavljeni u postocima, tako da su uvijek fluidni i veličine u odnosu na roditeljski element. - Stupci su vodoravni
padding
za stvaranje oluka između pojedinačnih stupaca, međutim, možete uklonitimargin
iz redaka ipadding
iz stupaca pomoću.no-gutters
na.row
. - Kako bi rešetka bila prilagodljiva, postoji pet prijelomnih točaka mreže, po jedna za svaku responzivnu prijelomnu točku : sve prijelomne točke (ekstra male), male, srednje, velike i ekstra velike.
- Prijelomne točke mreže temelje se na medijskim upitima minimalne širine, što znači da se primjenjuju na tu jednu prijelomnu točku i sve one iznad nje (npr.
.col-sm-4
primjenjuje se na male, srednje, velike i ekstra velike uređaje, ali ne i na prvuxs
prijelomnu točku). - Možete koristiti unaprijed definirane klase rešetki (kao što je
.col-4
) ili Sass mixins za više semantičkog označavanja.
Budite svjesni ograničenja i grešaka oko flexboxa , poput nemogućnosti korištenja nekih HTML elemenata kao flex spremnika .
Mogućnosti mreže
Dok Bootstrap koristi em
s ili rem
s za definiranje većine veličina, px
s se koriste za prijelomne točke mreže i širine spremnika. To je zato što je širina okvira za prikaz u pikselima i ne mijenja se s veličinom fonta .
Pomoću praktične tablice pogledajte kako aspekti Bootstrap grid sustava funkcioniraju na više uređaja.
Izuzetno mali <576px |
Mali ≥576px |
Srednje ≥768 px |
Veliki ≥992 px |
Iznimno velika ≥1200px |
|
---|---|---|---|---|---|
Maksimalna širina spremnika | Ništa (automatski) | 540 px | 720 px | 960 px | 1140 px |
Prefiks klase | .col- |
.col-sm- |
.col-md- |
.col-lg- |
.col-xl- |
Broj stupaca | 12 | ||||
Širina oluka | 30px (15px sa svake strane stupca) | ||||
Nestabilan | Da | ||||
Redoslijed stupaca | Da |
Automatski raspored stupaca
Upotrijebite klase stupaca specifične za prijelomne točke za jednostavno dimenzioniranje stupaca bez eksplicitne numerirane klase kao što je .col-sm-6
.
Jednake širine
Na primjer, ovdje su dva izgleda rešetke koja se primjenjuju na svaki uređaj i okvir za prikaz, od xs
do xl
. Dodajte bilo koji broj klasa bez jedinica za svaku prijelomnu točku koja vam je potrebna i svaki će stupac biti iste širine.
Stupci jednake širine mogu se podijeliti u više redaka, ali postojala je greška Safari flexbox koja je spriječila da ovo radi bez eksplicitnog flex-basis
ili border
. Postoje rješenja za starije verzije preglednika, ali ne bi trebala biti potrebna ako ste ažurirani.
Postavljanje širine jednog stupca
Automatski raspored za stupce rešetke flexboxa također znači da možete postaviti širinu jednog stupca i automatski promijeniti veličinu srodnih stupaca oko njega. Možete koristiti unaprijed definirane klase rešetki (kao što je prikazano u nastavku), mješavine rešetki ili unutarnje širine. Imajte na umu da će drugi stupci promijeniti veličinu bez obzira na širinu središnjeg stupca.
Sadržaj promjenjive širine
Koristite col-{breakpoint}-auto
klase za dimenzioniranje stupaca na temelju prirodne širine njihovog sadržaja.
Višeredni jednake širine
Stvorite stupce jednake širine koji se protežu kroz više redaka tako da umetnete mjesto .w-100
gdje želite da se stupci prijelome u novi redak. Učinite prekide osjetljivima miješanjem .w-100
s nekim uslužnim programima za responzivni zaslon .
Responzivni razredi
Bootstrapova mreža uključuje pet razina unaprijed definiranih klasa za izgradnju složenih responzivnih izgleda. Prilagodite veličinu svojih stupaca na iznimno malim, malim, srednjim, velikim ili iznimno velikim uređajima kako god vam odgovara.
Sve prijelomne točke
Za mreže koje su iste od najmanjeg uređaja do najvećeg, koristite klase .col
i . .col-*
Odredite numeriranu klasu kada trebate stupac posebne veličine; inače se slobodno držite .col
.
Složeno vodoravno
Koristeći jedan skup .col-sm-*
klasa, možete stvoriti osnovni mrežni sustav koji počinje složen i postaje vodoravan na maloj prijelomnoj točki ( sm
).
Pomiješajte i uskladite
Ne želite da se vaši stupci jednostavno slažu u nekoliko slojeva mreže? Po potrebi koristite kombinaciju različitih klasa za svaku razinu. Pogledajte primjer u nastavku za bolji uvid u to kako sve to funkcionira.
Oluci
Oluci se mogu prilagoditi odgovarajućim klasama korisnosti za prekidne točke i negativne margine. Da biste promijenili oluke u određenom retku, uparite pomoćni program negativne margine na .row
i odgovarajuće pomoćne programe za podmetanje na .col
s. Možda će se također morati prilagoditi roditelj .container
ili kako bi se izbjeglo neželjeno prelijevanje, korištenjem uslužnog programa za popunjavanje ponovnog podudaranja..container-fluid
Evo primjera prilagođavanja mreže Bootstrap na velikoj ( lg
) prijelomnoj točki i više. Povećali smo .col
ispunu s .px-lg-5
, eliminirali to s .mx-lg-n5
na roditelju .row
i zatim prilagodili .container
omot s .px-lg-5
.
Poravnanje
Upotrijebite pomoćne programe za poravnanje flexbox za okomito i vodoravno poravnavanje stupaca.
Okomito poravnanje
Horizontalno poravnanje
Bez oluka
Oluci između stupaca u našim unaprijed definiranim klasama mreže mogu se ukloniti pomoću .no-gutters
. Time se uklanjaju negativni margin
s .row
i horizontala padding
iz svih neposrednih podređenih stupaca.
Evo izvornog koda za stvaranje ovih stilova. Imajte na umu da su nadjačavanja stupaca obuhvaćena samo prvim podređenim stupcima i ciljana su putem birača atributa . Iako ovo generira specifičniji selektor, ispuna stupaca još uvijek se može dodatno prilagoditi pomoću pomoćnih programa za razmake .
Trebate dizajn od ruba do ruba? Ispustite roditelj .container
ili .container-fluid
.
U praksi, evo kako to izgleda. Imajte na umu da ovo možete nastaviti koristiti sa svim drugim unaprijed definiranim klasama rešetki (uključujući širine stupaca, responzivne razine, promjene redoslijeda i više).
Omatanje stupaca
Ako je više od 12 stupaca postavljeno unutar jednog retka, svaka grupa dodatnih stupaca će se, kao jedna cjelina, prebaciti u novi redak.
Budući da je 9 + 4 = 13 > 12, ovaj div sa širinom od 4 stupca premotava se u novi redak kao jedna susjedna jedinica.
Sljedeći stupci nastavljaju duž novog retka.
Lomovi stupaca
Razbijanje stupaca u novi redak u flexboxu zahtijeva mali hack: dodajte element width: 100%
gdje god želite prelomiti svoje stupce u novi redak. Obično se to postiže s više .row
s, ali ne može svaka metoda implementacije to objasniti.
Ovaj prekid također možete primijeniti na određenim prijelomnim točkama s našim uslužnim programima za responzivni prikaz .
Preuređivanje
Red klase
Use .order-
classes for controlling the visual order of your content. These classes are responsive, so you can set the order
by breakpoint (e.g., .order-1.order-md-2
). Includes support for 1
through 12
across all five grid tiers.
There are also responsive .order-first
and .order-last
classes that change the order
of an element by applying order: -1
and order: 13
(order: $columns + 1
), respectively. These classes can also be intermixed with the numbered .order-*
classes as needed.
Offsetting columns
You can offset grid columns in two ways: our responsive .offset-
grid classes and our margin utilities. Grid classes are sized to match columns while margins are more useful for quick layouts where the width of the offset is variable.
Offset classes
Move columns to the right using .offset-md-*
classes. These classes increase the left margin of a column by *
columns. For example, .offset-md-4
moves .col-md-4
over four columns.
In addition to column clearing at responsive breakpoints, you may need to reset offsets. See this in action in the grid example.
Margin utilities
With the move to flexbox in v4, you can use margin utilities like .mr-auto
to force sibling columns away from one another.
Nesting
To nest your content with the default grid, add a new .row
and set of .col-sm-*
columns within an existing .col-sm-*
column. Nested rows should include a set of columns that add up to 12 or fewer (it is not required that you use all 12 available columns).
Sass mixins
When using Bootstrap’s source Sass files, you have the option of using Sass variables and mixins to create custom, semantic, and responsive page layouts. Our predefined grid classes use these same variables and mixins to provide a whole suite of ready-to-use classes for fast responsive layouts.
Variables
Variables and maps determine the number of columns, the gutter width, and the media query point at which to begin floating columns. We use these to generate the predefined grid classes documented above, as well as for the custom mixins listed below.
Mixins
Mixins are used in conjunction with the grid variables to generate semantic CSS for individual grid columns.
Example usage
You can modify the variables to your own custom values, or just use the mixins with their default values. Here’s an example of using the default settings to create a two-column layout with a gap between.
Customizing the grid
Using our built-in grid Sass variables and maps, it’s possible to completely customize the predefined grid classes. Change the number of tiers, the media query dimensions, and the container widths—then recompile.
Columns and gutters
The number of grid columns can be modified via Sass variables. $grid-columns
is used to generate the widths (in percent) of each individual column while $grid-gutter-width
sets the width for the column gutters.
Grid tiers
Osim samih stupaca, možete prilagoditi i broj slojeva rešetke. Ako želite samo četiri razine mreže, ažurirali biste $grid-breakpoints
i $container-max-widths
na nešto poput ovoga:
Kada radite bilo kakve promjene na Sass varijablama ili mapama, morat ćete spremiti svoje promjene i ponovno ih kompajlirati. Na taj ćete način ispisati potpuno novi skup unaprijed definiranih klasa rešetke za širine stupaca, pomake i redoslijed. Responzivni uslužni programi za vidljivost također će se ažurirati za korištenje prilagođenih prijelomnih točaka. Obavezno postavite vrijednosti rešetke u px
(ne rem
, em
, ili %
).