Sistemi i rrjetit
Përdorni rrjetën tonë të fuqishme flexbox të celularit të parë për të ndërtuar struktura të të gjitha formave dhe madhësive falë një sistemi dymbëdhjetë kolonash, pesë niveleve të paracaktuara të përgjegjshme, variablave dhe mikseve Sass dhe dhjetëra klasave të paracaktuara.
Sistemi i rrjetit të Bootstrap përdor një seri kontejnerësh, rreshtash dhe kolonash për të vendosur dhe përafruar përmbajtjen. Është ndërtuar me flexbox dhe është plotësisht e përgjegjshme. Më poshtë është një shembull dhe një vështrim i thellë se si rrjeti bashkohet.
I ri ose i panjohur me flexbox? Lexoni këtë udhëzues CSS Tricks flexbox për sfondin, terminologjinë, udhëzimet dhe copat e kodit.
Shembulli i mësipërm krijon tre kolona me gjerësi të barabartë në pajisje të vogla, të mesme, të mëdha dhe ekstra të mëdha duke përdorur klasat tona të paracaktuara të rrjetit. Këto kolona janë të përqendruara në faqen me prindin .container
.
Duke e zbërthyer, ja se si funksionon:
- Kontejnerët ofrojnë një mjet për të përqendruar dhe vendosur horizontalisht përmbajtjen e faqes suaj. Përdoreni
.container
për një gjerësi pikselësh të përgjegjshme ose.container-fluid
përwidth: 100%
të gjitha madhësitë e pamjes dhe të pajisjes. - Rreshtat janë mbështjellës për kolonat. Çdo kolonë ka horizontale
padding
(i quajtur ulluq) për të kontrolluar hapësirën midis tyre. Kjopadding
më pas kundërveprohet në rreshtat me marzhe negative. Në këtë mënyrë, e gjithë përmbajtja në kolonat tuaja rreshtohet vizualisht në anën e majtë. - Në një plan urbanistik, përmbajtja duhet të vendoset brenda kolonave dhe vetëm kolonat mund të jenë fëmijë të menjëhershëm të rreshtave.
- Falë flexbox, kolonat e rrjetës pa një specifikim
width
do të vendosen automatikisht si kolona me gjerësi të barabartë. Për shembull, katër raste të.col-sm
vullnetit secili automatikisht është 25% i gjerë nga pika e vogël e ndërprerjes e lart. Shihni seksionin e kolonave të paraqitjes automatike për më shumë shembuj. - Klasat e kolonave tregojnë numrin e kolonave që dëshironi të përdorni nga 12 të mundshme për rresht. Pra, nëse dëshironi tre kolona me gjerësi të barabartë, mund të përdorni
.col-4
. - Kolonat
width
s vendosen në përqindje, kështu që ato janë gjithmonë të rrjedhshme dhe me madhësi në krahasim me elementin e tyre prind. - Kolonat kanë horizontale
padding
për të krijuar ulluqe midis kolonave individuale, megjithatë, ju mund të hiqnimargin
nga rreshtat dhepadding
nga kolonat me.no-gutters
në.row
. - Për ta bërë rrjetin të përgjegjshëm, ekzistojnë pesë pika ndërprerjeje të rrjetit, një për çdo pikë ndërprerjeje reaguese : të gjitha pikat e ndërprerjes (ekstra të vogla), të vogla, të mesme, të mëdha dhe tepër të mëdha.
- Pikat e ndërprerjes së rrjetit bazohen në pyetjet e medias me gjerësi minimale, që do të thotë se ato zbatohen për atë një pikë ndërprerjeje dhe të gjitha ato mbi të (p.sh.,
.col-sm-4
zbatohet për pajisjet e vogla, të mesme, të mëdha dhe shumë të mëdha, por jo pikën e parë tëxs
ndërprerjes). - Ju mund të përdorni klasa të paracaktuara të rrjetit (si
.col-4
) ose përzierje Sass për më shumë shënime semantike.
Jini të vetëdijshëm për kufizimet dhe gabimet rreth flexbox , si pamundësia për të përdorur disa elementë HTML si kontejnerë fleksibël .
Ndërsa Bootstrap përdor em
s ose rem
s për përcaktimin e shumicës së madhësive, px
s përdoren për pikat e ndërprerjes së rrjetit dhe gjerësinë e kontejnerëve. Kjo ndodh sepse gjerësia e portit të pamjes është në pixel dhe nuk ndryshon me madhësinë e shkronjave .
Shihni se si funksionojnë aspektet e sistemit të rrjetit Bootstrap nëpër pajisje të shumta me një tabelë të dobishme.
Tepër e vogël <576 px |
E vogël ≥576 px |
Mesatare ≥768 px |
E madhe ≥992 px |
Tepër e madhe ≥1200 px |
|
---|---|---|---|---|---|
Gjerësia maksimale e kontejnerit | Asnjë (auto) | 540 px | 720 px | 960 px | 1140 px |
Parashtesa e klasës | .col- |
.col-sm- |
.col-md- |
.col-lg- |
.col-xl- |
# e kolonave | 12 | ||||
Gjerësia e ulluqit | 30px (15px në secilën anë të një kolone) | ||||
Nestable | po | ||||
Renditja e kolonave | po |
Përdorni klasa kolone specifike për pikën e ndërprerjes për madhësinë e lehtë të kolonës pa një klasë të qartë të numëruar si .col-sm-6
.
Për shembull, këtu janë dy paraqitje rrjeti që zbatohen për çdo pajisje dhe porta të shikimit, nga xs
deri në xl
. Shtoni çdo numër klasash pa njësi për çdo pikë ndërprerjeje që ju nevojitet dhe çdo kolonë do të ketë të njëjtën gjerësi.
Kolonat me gjerësi të barabartë mund të ndahen në vija të shumta, por kishte një gabim Safari flexbox që e pengoi këtë të funksiononte pa një të qartë flex-basis
ose border
. Ka zgjidhje për versionet më të vjetra të shfletuesit, por ato nuk duhet të jenë të nevojshme nëse jeni të përditësuar.
Paraqitja automatike për kolonat e rrjetës flexbox do të thotë gjithashtu se mund të vendosni gjerësinë e një kolone dhe t'i ndryshoni madhësinë automatikisht kolonave të motrës rreth saj. Ju mund të përdorni klasa të paracaktuara të rrjetit (siç tregohet më poshtë), kombinime të rrjetit ose gjerësi inline. Vini re se kolonat e tjera do të ndryshojnë madhësinë pa marrë parasysh gjerësinë e kolonës qendrore.
Përdorni col-{breakpoint}-auto
klasa për të përmasuar kolonat bazuar në gjerësinë natyrore të përmbajtjes së tyre.
Krijoni kolona me gjerësi të barabartë që përfshijnë rreshta të shumëfishtë duke futur një .w-100
ku dëshironi që kolonat të thyhen në një vijë të re. Bëjini pushimet të përgjegjshme duke i përzier .w-100
me disa shërbime reaguese të ekranit .
Rrjeti i Bootstrap përfshin pesë nivele të klasave të paracaktuara për ndërtimin e strukturave komplekse të përgjegjshme. Personalizoni madhësinë e kolonave tuaja në pajisjet ekstra të vogla, të vogla, të mesme, të mëdha ose ekstra të mëdha sido që ju e shihni të arsyeshme.
Për rrjetet që janë të njëjta nga pajisjet më të vogla te më të mëdhatë, përdorni klasat .col
dhe . .col-*
Specifikoni një klasë të numëruar kur keni nevojë për një kolonë me madhësi të veçantë; përndryshe, mos ngurroni t'i përmbaheni .col
.
Duke përdorur një grup të vetëm .col-sm-*
klasash, mund të krijoni një sistem bazë rrjeti që fillon i grumbulluar dhe bëhet horizontal në pikën e vogël të ndërprerjes ( sm
).
A nuk dëshironi që kolonat tuaja thjesht të grumbullohen në disa nivele të rrjetit? Përdorni një kombinim të klasave të ndryshme për çdo nivel sipas nevojës. Shihni shembullin më poshtë për një ide më të mirë se si funksionon gjithçka.
Përdorni shërbimet e shtrirjes flexbox për të rreshtuar kolonat vertikalisht dhe horizontalisht.
Ulluqet midis kolonave në klasat tona të paracaktuara të rrjetit mund të hiqen me .no-gutters
. Kjo heq margin
s negative nga .row
dhe horizontale padding
nga të gjitha kolonat e fëmijëve të afërt.
Këtu është kodi burimor për krijimin e këtyre stileve. Vini re se anulimet e kolonave shtrihen vetëm në kolonat e para të fëmijëve dhe synohen nëpërmjet përzgjedhësit të atributeve . Ndërsa kjo gjeneron një përzgjedhës më specifik, mbushja e kolonës mund të personalizohet akoma më tej me shërbimet e ndarjes .
Keni nevojë për një dizajn nga skaji në skaj? Hiq prindin .container
ose .container-fluid
.
Në praktikë, ja si duket. Vini re se mund të vazhdoni ta përdorni këtë me të gjitha klasat e tjera të paracaktuara të rrjetit (përfshirë gjerësinë e kolonave, nivelet reaguese, rirenditjet dhe më shumë).
Nëse më shumë se 12 kolona vendosen brenda një rreshti të vetëm, secili grup kolonash shtesë, si një njësi, do të përfundojë në një rresht të ri.
Meqenëse 9 + 4 = 13 > 12, kjo ndarje me 4 kolona mbështillet në një linjë të re si një njësi e afërt.
Kolonat pasuese vazhdojnë përgjatë vijës së re.
Thyerja e kolonave në një linjë të re në flexbox kërkon një hak të vogël: shtoni një element width: 100%
kudo që dëshironi të mbështillni kolonat tuaja në një rresht të ri. Normalisht kjo realizohet me .row
s të shumëfishta, por jo çdo metodë zbatimi mund ta llogarisë këtë.
Ju gjithashtu mund ta aplikoni këtë ndërprerje në pika të veçanta ndërprerjeje me shërbimet tona të ekranit të përgjegjshëm .
Përdorni .order-
klasa për të kontrolluar rendin vizual të përmbajtjes suaj. Këto klasa janë të përgjegjshme, kështu që ju mund të vendosni pikën e order
ndërprerjes (p.sh., .order-1.order-md-2
). Përfshin mbështetje për 1
të 12
gjitha pesë nivelet e rrjetit.
Ekzistojnë gjithashtu responsive .order-first
dhe .order-last
klasa që ndryshojnë order
elementin duke aplikuar order: -1
dhe order: 13
( order: $columns + 1
), përkatësisht. Këto klasa gjithashtu mund të përzihen me .order-*
klasat e numëruara sipas nevojës.
Ju mund të kompensoni kolonat e rrjetit në dy mënyra: .offset-
klasat tona të rrjetit të përgjegjshëm dhe shërbimet tona të marzhit . Klasat e rrjetit janë të madhësisë që të përputhen me kolonat ndërsa margjinat janë më të dobishme për paraqitjet e shpejta ku gjerësia e kompensimit është e ndryshueshme.
Zhvendosni kolonat në të djathtë duke përdorur .offset-md-*
klasat. Këto klasa rrisin kufirin e majtë të një kolone me *
kolona. Për shembull, .offset-md-4
lëviz .col-md-4
mbi katër kolona.
Përveç pastrimit të kolonës në pikat e ndërprerjes reaguese, mund t'ju duhet të rivendosni kompensimet. Shihni këtë në veprim në shembullin e rrjetit .
Me kalimin në flexbox në v4, mund të përdorni shërbime të marzhit si .mr-auto
për të detyruar kolonat e vëllezërve dhe motrave të largohen nga njëri-tjetri.
Për të futur përmbajtjen tuaj me rrjetin e paracaktuar, shtoni një grup të ri .row
dhe një grup .col-sm-*
kolonash brenda një .col-sm-*
kolone ekzistuese. Rreshtat e mbivendosur duhet të përfshijnë një grup kolonash që shtojnë deri në 12 ose më pak (nuk kërkohet që të përdorni të 12 kolonat e disponueshme).
Kur përdorni skedarët burimor Sass të Bootstrap, ju keni mundësinë e përdorimit të variablave dhe mikseve Sass për të krijuar paraqitje të personalizuara, semantike dhe të përgjegjshme të faqeve. Klasat tona të paracaktuara të rrjetit përdorin të njëjtat variabla dhe miks për të ofruar një grup të tërë klasash të gatshme për përdorim për paraqitje të shpejta të përgjegjshme.
Variablat dhe hartat përcaktojnë numrin e kolonave, gjerësinë e kanalit dhe pikën e pyetjes së medias në të cilën do të fillojnë kolonat lundruese. Ne i përdorim këto për të gjeneruar klasat e paracaktuara të rrjetit të dokumentuara më sipër, si dhe për përzierjet e personalizuara të listuara më poshtë.
Përzierjet përdoren në lidhje me variablat e rrjetit për të gjeneruar CSS semantike për kolonat individuale të rrjetit.
Mund t'i modifikoni variablat në vlerat tuaja të personalizuara, ose thjesht përdorni miksin me vlerat e tyre të paracaktuara. Këtu është një shembull i përdorimit të cilësimeve të paracaktuara për të krijuar një plan urbanistik me dy kolona me një hendek midis tyre.
Duke përdorur variablat dhe hartat tona të integruara të rrjetit Sass, është e mundur që të personalizohen plotësisht klasat e paracaktuara të rrjetit. Ndryshoni numrin e niveleve, dimensionet e pyetjes së medias dhe gjerësinë e kontejnerit—më pas ripërpiloni.
Numri i kolonave të rrjetit mund të modifikohet nëpërmjet variablave Sass. $grid-columns
përdoret për të gjeneruar gjerësinë (në përqindje) të secilës kolonë individuale ndërsa $grid-gutter-width
cakton gjerësinë për ulluqet e kolonës.
Duke lëvizur përtej vetë kolonave, mund të personalizoni gjithashtu numrin e niveleve të rrjetit. Nëse dëshironi vetëm katër nivele të rrjetit, do të përditësoni $grid-breakpoints
dhe $container-max-widths
në diçka si kjo:
Kur bëni ndonjë ndryshim në variablat ose hartat Sass, do t'ju duhet të ruani ndryshimet dhe t'i rikompiloni. Duke vepruar kështu, do të prodhohet një grup i ri i klasave të paracaktuara të rrjetit për gjerësinë e kolonave, zhvendosjet dhe renditjen. Shërbimet e dukshmërisë së përgjegjshme do të përditësohen gjithashtu për të përdorur pikat e ndërprerjes me porosi. Sigurohuni që të vendosni vlerat e rrjetit në px
(jo rem
, em
, ose %
).