Tinklelio sistema
Naudokite mūsų galingą mobiliesiems skirtą „flexbox“ tinklelį, kad sukurtumėte visų formų ir dydžių maketus dėl dvylikos stulpelių sistemos, penkių numatytųjų reaguojančių pakopų, „Sass“ kintamųjų ir mišinių bei daugybės iš anksto nustatytų klasių.
„Bootstrap“ tinklelio sistema naudoja daugybę konteinerių, eilučių ir stulpelių, kad išdėstytų ir sulygiuotų turinį. Jis sukurtas naudojant „ flexbox “ ir visiškai reaguoja. Žemiau pateikiamas pavyzdys ir nuodugniai apžvelgiama, kaip tinklelis susijungia.
Naujokas ar nesate susipažinęs su „flexbox“? Perskaitykite šį CSS Tricks lanksčiojo dėžutės vadovą , kad sužinotumėte foną, terminiją, gaires ir kodo fragmentus.
Aukščiau pateiktame pavyzdyje sukuriami trys vienodo pločio stulpeliai mažuose, vidutiniuose, dideliuose ir ypač dideliuose įrenginiuose, naudojant mūsų iš anksto nustatytas tinklelio klases. Tie stulpeliai yra puslapio centre su pirminiu stulpeliu .container
.
Išskaidžius tai, kaip tai veikia:
- Sudėtiniai rodiniai suteikia galimybę centruoti ir horizontaliai išdėstyti svetainės turinį. Naudokite
.container
jautriam pikselių pločiui arba.container-fluid
visųwidth: 100%
dydžių peržiūrai. - Eilutės yra stulpelių įvyniojimai. Kiekviena kolona turi horizontalią
padding
(vadinamą lataku), skirtą tarpai tarp jų valdyti. Tadapadding
tai neutralizuojama eilutėse su neigiamomis paraštėmis. Tokiu būdu visas jūsų stulpelių turinys vizualiai išlygiuotas kairėje pusėje. - Tinklelio išdėstyme turinys turi būti dedamas į stulpelius ir tik stulpeliai gali būti tiesioginiai eilučių antriniai elementai.
- „Flexbox“ dėka tinklelio stulpeliai be nurodyto
width
bus automatiškai išdėstyti kaip vienodo pločio stulpeliai. Pavyzdžiui, keturi atvejai.col-sm
automatiškai bus 25 % pločio nuo mažos pertraukos taško ir daugiau. Daugiau pavyzdžių žr. automatinio išdėstymo stulpelių skyriuje. - Stulpelių klasės nurodo stulpelių, kuriuos norite naudoti, skaičių iš 12 vienoje eilutėje. Taigi, jei norite, kad skersai būtų trys vienodo pločio stulpeliai, galite naudoti
.col-4
. - Stulpeliai
width
nustatomi procentais, todėl jie visada yra sklandūs ir dydžio, palyginti su pirminiu elementu. - Stulpeliai yra horizontalūs
padding
, kad būtų sukurti latakai tarp atskirų stulpelių, tačiau galite pašalintimargin
iš eilučių irpadding
stulpelių.no-gutters
naudodami.row
. - Kad tinklelis būtų jautrus, yra penki tinklelio lūžio taškai, po vieną kiekvienam interaktyviam lūžio taškui : visi lūžio taškai (ypač maži), maži, vidutiniai, dideli ir ypač dideli.
- Tinklelio lūžio taškai pagrįsti minimalaus pločio medijos užklausomis, tai reiškia, kad jie taikomi tam vienam lūžio taškui ir visiems virš jo esantiems (pvz.,
.col-sm-4
taikomi mažiems, vidutiniams, dideliems ir ypač dideliems įrenginiams, bet ne pirmajamxs
lūžio taškui). - Norėdami gauti daugiau semantinio žymėjimo, galite naudoti iš anksto nustatytas tinklelio klases (pvz .,
.col-4
) arba Sass mišinius .
Žinokite apie „flexbox“ apribojimus ir klaidas , pvz., negalėjimą naudoti kai kurių HTML elementų kaip lanksčiuosius konteinerius .
Nors Bootstrap naudoja em
s arba rem
s daugumai dydžių apibrėžti, px
s naudojami tinklelio lūžio taškams ir konteinerio pločiams. Taip yra todėl, kad peržiūros srities plotis yra pikseliais ir nesikeičia atsižvelgiant į šrifto dydį .
Sužinokite, kaip Bootstrap tinklelio sistemos aspektai veikia keliuose įrenginiuose, naudodami patogią lentelę.
Itin mažas <576px |
Mažas ≥ 576 piks |
Vidutinis ≥ 768 piks |
Didelis ≥ 992 piks |
Ypač didelis ≥ 1200 pikselių |
|
---|---|---|---|---|---|
Maksimalus konteinerio plotis | Nėra (automatinis) | 540 pikselių | 720 taškų | 960 taškų | 1140 taškų |
Klasės priešdėlis | .col- |
.col-sm- |
.col-md- |
.col-lg- |
.col-xl- |
# stulpelių | 12 | ||||
Latakų plotis | 30 piks. (15 piks. kiekvienoje stulpelio pusėje) | ||||
Nestabilus | Taip | ||||
Stulpelių užsakymas | Taip |
Norėdami lengvai nustatyti stulpelių dydį be aiškios sunumeruotos klasės, pvz., , naudokite lūžio taško stulpelių klases .col-sm-6
.
Pavyzdžiui, čia yra du tinklelio išdėstymai, taikomi kiekvienam įrenginiui ir peržiūros zonai nuo xs
iki xl
. Pridėkite bet kokį klasių be vienetų skaičių prie kiekvieno reikalingo lūžio taško ir kiekvienas stulpelis bus tokio pat pločio.
Vienodo pločio stulpelius galima suskaidyti į kelias eilutes, tačiau buvo „ Safari flexbox“ klaida , kuri neleido tai veikti be aiškaus flex-basis
arba border
. Yra problemų, susijusių su senesnėmis naršyklės versijomis, tačiau jie neturėtų būti būtini, jei esate naujausia versija.
Automatinis „flexbox“ tinklelio stulpelių išdėstymas taip pat reiškia, kad galite nustatyti vieno stulpelio plotį ir automatiškai keisti stulpelių dydį aplink jį. Galite naudoti iš anksto nustatytas tinklelio klases (kaip parodyta toliau), tinklelio mišinius arba eilutinius plotius. Atminkite, kad kitų stulpelių dydis bus pakeistas nepriklausomai nuo centrinio stulpelio pločio.
Naudokite col-{breakpoint}-auto
klases, kad nustatytumėte stulpelių dydį pagal natūralų jų turinio plotį.
Kurkite vienodo pločio stulpelius, apimančius kelias eilutes, įterpdami vietą, .w-100
kurioje norite, kad stulpeliai būtų pertraukti į naują eilutę. Padarykite pertraukas jautrias sumaišydami .w-100
su kai kuriomis reaguojančiomis rodymo programomis .
„Bootstrap“ tinklelis apima penkias iš anksto nustatytų klasių pakopas, skirtas sukurti sudėtingus, reaguojančius išdėstymus. Tinkinkite stulpelių dydį ypač mažuose, mažuose, vidutiniuose, dideliuose ar ypač dideliuose įrenginiuose, kaip jums atrodo tinkama.
Tinklams, kurie yra vienodi nuo mažiausio įrenginio iki didžiausio, naudokite .col
ir .col-*
klases. Nurodykite sunumeruotą klasę, kai jums reikia ypatingo dydžio stulpelio; kitu atveju nedvejodami laikykitės .col
.
Naudodami vieną .col-sm-*
klasių rinkinį galite sukurti pagrindinę tinklelio sistemą, kuri pradedama sukrauti ir tampa horizontali mažame lūžio taške ( sm
).
Nenorite, kad jūsų stulpeliai būtų tiesiog sukrauti kai kuriose tinklelio pakopose? Jei reikia, kiekvienai pakopai naudokite skirtingų klasių derinį. Norėdami geriau suprasti, kaip visa tai veikia, žiūrėkite toliau pateiktą pavyzdį.
Norėdami vertikaliai ir horizontaliai sulygiuoti stulpelius, naudokite „flexbox“ lygiavimo priemones.
Latakai tarp stulpelių mūsų iš anksto nustatytose tinklelio klasėse gali būti pašalinti naudojant .no-gutters
. Taip pašalinami neigiami margin
s iš visų tiesioginių antrinių stulpelių .row
ir horizontalūs .padding
Here’s the source code for creating these styles. Note that column overrides are scoped to only the first children columns and are targeted via attribute selector. While this generates a more specific selector, column padding can still be further customized with spacing utilities.
Need an edge-to-edge design? Drop the parent .container
or .container-fluid
.
In practice, here’s how it looks. Note you can continue to use this with all other predefined grid classes (including column widths, responsive tiers, reorders, and more).
If more than 12 columns are placed within a single row, each group of extra columns will, as one unit, wrap onto a new line.
Since 9 + 4 = 13 > 12, this 4-column-wide div gets wrapped onto a new line as one contiguous unit.
Subsequent columns continue along the new line.
Breaking columns to a new line in flexbox requires a small hack: add an element with width: 100%
wherever you want to wrap your columns to a new line. Normally this is accomplished with multiple .row
s, but not every implementation method can account for this.
You may also apply this break at specific breakpoints with our responsive display utilities.
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.
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.
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.
With the move to flexbox in v4, you can use margin utilities like .mr-auto
to force sibling columns away from one another.
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).
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 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 are used in conjunction with the grid variables to generate semantic CSS for individual grid columns.
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.
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.
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.
Be pačių stulpelių, taip pat galite tinkinti tinklelio pakopų skaičių. Jei norėtumėte tik keturių tinklelio pakopų, atnaujinkite $grid-breakpoints
ir $container-max-widths
į kažką panašaus:
Atlikdami bet kokius Sass kintamųjų ar žemėlapių pakeitimus, turėsite išsaugoti pakeitimus ir sukompiliuoti iš naujo. Taip bus išvestas visiškai naujas iš anksto nustatytų tinklelio klasių rinkinys, skirtas stulpelių pločiui, poslinkiams ir tvarkai. Reaguojančios matomumo priemonės taip pat bus atnaujintos, kad būtų naudojamos tinkintos pertraukos taškai. Būtinai nustatykite tinklelio reikšmes px
(ne rem
, em
, arba %
).