Mrežni sistem
Upotrijebite našu moćnu flexbox mrežu koja je na prvom mjestu za mobilne uređaje da biste izgradili rasporede svih oblika i veličina zahvaljujući sistemu od dvanaest stupaca, pet zadanih responzivnih nivoa, Sass varijablama i miksinama i desetinama unaprijed definiranih klasa.
Kako radi
Bootstrap-ov grid sistem koristi niz kontejnera, redova i kolona za raspored i poravnanje sadržaja. Napravljen je sa flexboxom i potpuno je prilagodljiv. Ispod je primjer i detaljan pogled na to kako se mreža spaja.
Novi ste ili niste upoznati sa flexboxom? Pročitajte ovaj Flexbox vodič za CSS Tricks za pozadinu, terminologiju, smjernice i isječke koda.
Gornji primjer kreira tri kolone jednake širine na malim, srednjim, velikim i ekstra velikim uređajima koristeći naše unaprijed definirane mrežne klase. Ti stupci su centrirani na stranici s roditeljem .container
.
Ako ga rastavite, evo kako to funkcionira:
- Kontejneri pružaju način za centriranje i vodoravno postavljanje sadržaja vaše stranice. Koristite
.container
za prilagodljivu širinu piksela ili.container-fluid
zawidth: 100%
sve veličine prozora i uređaja. - Redovi su omoti za kolone. Svaki stupac ima horizontalni
padding
(koji se naziva žlijeb) za kontrolu prostora između njih. Topadding
se onda suprotstavlja na redovima s negativnim marginama. Na ovaj način, sav sadržaj u vašim kolonama je vizuelno poravnat na lijevoj strani. - U rasporedu mreže, sadržaj mora biti smješten unutar kolona i samo stupci mogu biti neposredno podređeni redovima.
- Zahvaljujući flexboxu, kolone mreže bez specificiranog
width
će automatski biti postavljene kao kolone jednake širine. Na primjer, četiri instance.col-sm
će automatski biti po 25% široke od male točke prekida i više. Za više primjera pogledajte odjeljak kolona sa automatskim rasporedom . - Klase kolona označavaju broj kolona koje želite koristiti od mogućih 12 po redu. Dakle, ako želite tri kolone jednake širine, možete koristiti
.col-4
. - Kolone
width
s su postavljene u procentima, tako da su uvijek fluidne i veličine u odnosu na njihov roditeljski element. - Kolone su horizontalne
padding
za stvaranje oluka između pojedinačnih kolona, međutim, možete uklonitimargin
iz redova ipadding
iz kolona sa.no-gutters
na.row
. - Da bi mreža bila prilagodljiva, postoji pet prelomnih tačaka mreže, po jedna za svaku tačku prekida : sve tačke prekida (ekstra male), male, srednje, velike i ekstra velike.
- Prelomne tačke mreže su zasnovane na medijskim upitima minimalne širine, što znači da se primenjuju na tu jednu tačku prekida i sve one iznad nje (npr.
.col-sm-4
primenjuju se na male, srednje, velike i ekstra velike uređaje, ali ne i na prvuxs
tačku prekida). - Možete koristiti unaprijed definirane grid klase (poput
.col-4
) ili Sass miksine 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 kontejnera .
Opcije mreže
Dok Bootstrap koristi em
s ili rem
s za definiranje većine veličina, px
s se koristi za prelomne tačke mreže i širine kontejnera. To je zato što je širina okvira za prikaz u pikselima i ne mijenja se s veličinom fonta .
Pogledajte kako aspekti Bootstrap grid sistema funkcionišu na više uređaja uz praktičnu tablicu.
Ekstra mali <576px |
Mala ≥576px |
Srednje ≥768px |
Veliki ≥992px |
Ekstra velika ≥1200px |
|
---|---|---|---|---|---|
Maksimalna širina kontejnera | Ništa (automatski) | 540px | 720px | 960px | 1140px |
Prefiks klase | .col- |
.col-sm- |
.col-md- |
.col-lg- |
.col-xl- |
Broj kolona | 12 | ||||
Širina oluka | 30px (15px sa svake strane kolone) | ||||
Nestable | Da | ||||
Redosled kolona | Da |
Automatski raspored kolona
Koristite klase stupaca specifične za tačku prekida za jednostavno određivanje veličine stupaca bez eksplicitne numerirane klase kao što je .col-sm-6
.
Jednake širine
Na primjer, evo dva rasporeda mreže koja se primjenjuju na svaki uređaj i okvir za prikaz, od xs
do xl
. Dodajte bilo koji broj klasa bez jedinica za svaku tačku prekida koja vam je potrebna i svaka kolona će biti iste širine.
Kolone jednake širine mogu se razbiti u više redova, ali postojala je greška Safari flexbox koja je spriječila ovo da radi bez eksplicitnog flex-basis
ili border
. Postoje zaobilazna rješenja za starije verzije pretraživača, ali ne bi trebala biti potrebna ako ste ažurni.
Postavljanje širine jedne kolone
Automatski raspored za stupce flexbox mreže također znači da možete postaviti širinu jedne kolone i da se srodnim kolonama automatski mijenja veličina oko nje. Možete koristiti unapred definisane klase mreže (kao što je prikazano ispod), mešavine mreže ili inline širine. Imajte na umu da će se veličina ostalih kolona promijeniti bez obzira na širinu središnje kolone.
Sadržaj promjenjive širine
Koristite col-{breakpoint}-auto
klase za veličinu kolona na osnovu prirodne širine njihovog sadržaja.
Višeredna jednaka širina
Kreirajte kolone jednake širine koji se protežu na više redova umetanjem a na mjesto .w-100
gdje želite da se stupci razdvoje na novi red. Učinite pauze responzivnim miješanjem .w-100
s nekim uslužnim programima za prikaz .
Responsive classes
Bootstrap mreža uključuje pet nivoa unapred definisanih klasa za izgradnju složenih responzivnih izgleda. Prilagodite veličinu svojih stupaca na izuzetno malim, malim, srednjim, velikim ili ekstra velikim uređajima kako god smatrate prikladnim.
Sve tačke prekida
Za mreže koje su iste od najmanjeg uređaja do najvećeg, koristite .col
i .col-*
klase. Odredite numerisanu klasu kada vam je potrebna kolona posebne veličine; u suprotnom, slobodno se držite .col
.
Naslagano do horizontale
Koristeći jedan skup .col-sm-*
klasa, možete kreirati osnovni sistem mreže koji počinje naslagano i postaje horizontalan na maloj tački prekida ( sm
).
Pomiješajte i spojite
Ne želite da se vaše kolone jednostavno slažu u nekoliko slojeva mreže? Koristite kombinaciju različitih klasa za svaki nivo po potrebi. Pogledajte primjer u nastavku za bolju ideju kako sve to funkcionira.
Oluci
Oluci se mogu prilagodljivo podesiti pomoću dopuna specifičnih za tačku prekida i klasa korisnosti negativne margine. Da biste promijenili oluke u datom redu, uparite negativnu marginu uslužnog programa na .row
i odgovarajuće pomoćne programe za popunjavanje na .col
s. .container
Ili će možda morati da se podesi i .container-fluid
roditelj da bi se izbeglo neželjeno prelivanje, koristeći ponovo odgovarajući uslužni program za dopunu.
Evo primjera prilagođavanja Bootstrap mreže na velikoj ( lg
) tački prekida i iznad. Povećali smo .col
padding sa .px-lg-5
, suprostavili smo to sa .mx-lg-n5
na roditelju .row
, a zatim smo podesili .container
omot sa .px-lg-5
.
Poravnanje
Koristite uslužne programe za poravnanje flexboxa za vertikalno i horizontalno poravnanje stupaca.
Vertikalno poravnanje
Horizontalno poravnanje
Nema oluka
Oluci između stupaca u našim predefiniranim mrežnim klasama mogu se ukloniti pomoću .no-gutters
. Ovo uklanja negativne margin
s .row
i horizontale padding
iz svih neposrednih podređenih stupaca.
Evo izvornog koda za kreiranje ovih stilova. Imajte na umu da su nadjačavanja stupaca ograničena na samo prve podređene stupce i ciljana su preko selektora atributa . Iako ovo generiše specifičniji selektor, dopuna kolone se i dalje može dodatno prilagoditi pomoću uslužnih programa za razmak .
Trebate dizajn od ruba do ruba? Odbacite roditelja .container
ili .container-fluid
.
U praksi, evo kako to izgleda. Imajte na umu da ovo možete nastaviti da koristite sa svim drugim unapred definisanim klasama mreže (uključujući širine kolona, responzivne slojeve, promene redosleda i još mnogo toga).
Omotavanje kolone
Ako je više od 12 kolona postavljeno unutar jednog reda, svaka grupa dodatnih kolona će se, kao jedna jedinica, premotati u novi red.
Pošto je 9 + 4 = 13 > 12, ovaj div širine 4 kolone se umotava u novi red kao jedna susedna jedinica.
Naredne kolone se nastavljaju duž novog reda.
Prelomi kolona
Razbijanje kolona u novi red u flexbox-u zahtijeva mali hak: dodajte element width: 100%
gdje god želite da premotate svoje kolone u novi red. Obično se to postiže s višestrukim .row
s, ali ne može svaka metoda implementacije to uzeti u obzir.
Ovu pauzu možete primijeniti i na određenim prijelomnim tačkama s našim responzivnim uslužnim programima za prikaz .
Preuređivanje
Naručite časove
Koristite .order-
klase za kontrolu vizuelnog reda vašeg sadržaja. Ove klase su responzivne, tako da možete postaviti order
točku prekida (npr. .order-1.order-md-2
). Uključuje podršku za 1
kroz 12
svih pet nivoa mreže.
Postoje i responsive .order-first
i .order-last
klase koje mijenjaju order
element primjenom order: -1
i order: 13
( order: $columns + 1
), respektivno. Ove klase se takođe mogu mešati sa numerisanim .order-*
klasama po potrebi.
Offseting kolone
Možete pomaknuti stupce mreže na dva načina: naše responzivne .offset-
mrežne klase i naše margine . Mrežne klase su veličine tako da odgovaraju kolonama, dok su margine korisnije za brze izglede gdje je širina pomaka promjenjiva.
Offset klase
Pomjerite stupce udesno koristeći .offset-md-*
klase. Ove klase povećavaju lijevu marginu kolone po *
kolone. Na primjer, .offset-md-4
kreće se .col-md-4
preko četiri kolone.
Pored brisanja stupaca na odgovarajućim prijelomnim tačkama, možda ćete morati resetirati pomake. Pogledajte ovo na djelu u primjeru mreže .
Margin komunalne usluge
Sa prelaskom na flexbox u v4, možete koristiti marginalne uslužne programe kao što .mr-auto
je prisilno udaljavanje srodničkih stupaca jedan od drugog.
Nesting
Da biste svoj sadržaj ugnijezdili u zadanu mrežu, dodajte novu .row
i skup .col-sm-*
kolona unutar postojeće .col-sm-*
kolone. Ugniježđeni redovi bi trebali uključivati skup kolona koji zajedno čine 12 ili manje (nije potrebno da koristite svih 12 dostupnih kolona).
Sass mixins
Kada koristite izvorne Sass datoteke Bootstrapa, imate mogućnost korištenja Sass varijabli i miksina za kreiranje prilagođenih, semantičkih i responzivnih izgleda stranica. Naše predefinirane mrežne klase koriste iste varijable i miksine kako bi pružile cijeli paket klasa spremnih za korištenje za brzo reagiranje izgleda.
Varijable
Varijable i mape određuju broj kolona, širinu žlijeba i tačku medijskog upita u kojoj će početi plutajuće kolone. Koristimo ih za generiranje unaprijed definiranih grid klasa koje su gore dokumentirane, kao i za prilagođene miksine navedene u nastavku.
Mixins
Miksini se koriste zajedno sa varijablama mreže za generiranje semantičkog CSS-a za pojedinačne stupce mreže.
Primjer upotrebe
Možete modificirati varijable na svoje vlastite prilagođene vrijednosti ili jednostavno koristiti miksine sa njihovim zadanim vrijednostima. Evo primjera korištenja zadanih postavki za kreiranje rasporeda s dvije kolone s razmakom između.
Prilagođavanje mreže
Koristeći naše ugrađene grid Sass varijable i mape, moguće je potpuno prilagoditi unaprijed definirane mrežne klase. Promijenite broj slojeva, dimenzije medijskog upita i širine kontejnera – zatim ponovo kompajlirajte.
Stubovi i oluci
Broj stupaca mreže može se mijenjati preko Sass varijabli. $grid-columns
koristi se za generiranje širine (u procentima) svake pojedinačne kolone dok $grid-gutter-width
postavlja širinu za oluke stupaca.
Mrežni slojevi
Idući dalje od samih kolona, možete prilagoditi i broj slojeva mreže. Ako želite samo četiri nivoa mreže, ažurirali biste $grid-breakpoints
i $container-max-widths
na nešto poput ovoga:
Kada pravite bilo kakve promjene u Sass varijablama ili mapama, morat ćete spremiti promjene i ponovo kompajlirati. Na taj način će se dobiti potpuno novi skup unaprijed definiranih klasa mreže za širine stupaca, pomake i redoslijed. Ažurirani uslužni programi za vidljivost će također biti ažurirani da koriste prilagođene tačke prekida. Obavezno postavite vrijednosti mreže u px
(ne rem
, em
, ili %
).