Grid sistem
Yuz wi pawaful mobayl-fɔs fleksbɔks grid fɔ bil layout dɛn we gɛt ɔl di shep ɛn saiz dɛn tank to wan twɛlv kɔlɔm sistem, fayv difɔlt rispɔnsiv taya dɛn, Sass vɛriɔbul ɛn miksin dɛn, ɛn dɔzin klas dɛn we dɛn dɔn prɛdifayn.
Aw i de wok
Bootstrap in grid sistem de yuz wan siriɔs kɔntena, row, ɛn kɔlɔm fɔ layout ɛn alaynɛt kɔntinyu. I bil wit flexbox ɛn i ful-ɔp fɔ ansa. Dis dɔŋ ya na ɛgzampul ɛn wan dip luk pan aw di grid kam togɛda.
Nyu to ɔ nɔ sabi flexbox? Rid dis CSS Tricks flexbox gayd fɔ bakgrɔn, tɛminɔlɔji, gaydlayn, ɛn kɔd snipɛt dɛn.
Di ɛgzampul we de ɔp de mek tri ikwal-wid kɔlɔm dɛn pan smɔl, midul, big, ɛn ɛkstra big divays dɛn we de yuz wi grid klas dɛn we wi dɔn disayd fɔ du. Dɛn kɔlɔm dɛn de de na di sɛnt na di pej wit di mama ɔ papa .container
.
We yu brok am, na so i de wok:
- Kɔntena dɛn de gi wan we fɔ sɛnt ɛn ɔrizɔntal pad di tin dɛn we de insay yu sayt. Yuz
.container
fɔ wan piksɛl wid we de ansa ɔ.container-fluid
fɔwidth: 100%
akɔdin to ɔl di viupɔt ɛn divays saiz dɛn. - Row na wrap fɔ kɔlɔm dɛn. Ɛni kɔlɔm gɛt ɔrizɔntal
padding
(we dɛn kɔl gɔta) fɔ kɔntrol di spes bitwin dɛn. Dɔnpadding
dɛn kin kɔntrakt dis pan di row dɛn we gɛt nɛgitiv margin. Dis we ya, ɔl di tin dɛn we de insay yu kɔlɔm dɛn de alaynɛd wit yu si dɔŋ di lɛft say. - Insay grid layout, kɔntinyu fɔ de insay kɔlɔm ɛn na kɔlɔm nɔmɔ kin bi pikin dɛn fɔ row dɛn wantɛm wantɛm.
- Tɛnki fɔ flexbox, grid kɔlɔm dɛn we nɔ gɛt wan spɛsifikɛd
width
go ɔtomɛtik layout as ikwal wit kɔlɔm dɛn. Fɔ ɛgzampul, 4 instans dɛn fɔ.col-sm
go ɔtomɛtik wan 25% waid frɔm di smɔl brekpɔynt ɛn ɔp. Si di ɔto-layout kɔlɔm dɛn sɛkshɔn fɔ no mɔ ɛgzampul dɛn. - Kɔlɔm klas dɛn de sho di nɔmba fɔ di kɔlɔm dɛn we yu go want fɔ yuz pan di 12 we pɔsibul fɔ ɛni row. So, if yu want tri kɔlɔm dɛn we gɛt ikwal-wid akɔdin, yu kin yuz
.col-4
. - Kɔlɔm
width
s dɛn sɛt insay pasɛnt, so dɛn kin ɔltɛm fluid ɛn saiz rilitiv to dɛn mama ɛn papa ɛlimɛnt. - Kɔlɔm dɛn gɛt ɔrizɔntal
padding
fɔ mek di gɔta dɛn bitwin wan wan kɔlɔm dɛn, bɔt, yu kin pul dimargin
frɔm rɔw dɛn ɛnpadding
frɔm kɔlɔm dɛn wit.no-gutters
pan di.row
. - Fɔ mek di grid ansa, fayv grid brek pɔynt dɛn de, wan fɔ ɛni brek pɔynt we de ansa : ɔl di brek pɔynt dɛn (ɛkstra smɔl), smɔl, midul, big, ɛn ɛkstra big.
- Grid brekpoint dɛn de bays pan minim width midia kwɛstyɔn dɛn, we min se dɛn de aplay to da wan brekpoint de ɛn ɔl di wan dɛn we de ɔp am (ɛgz., i
.col-sm-4
de aplay to smɔl, midul, big, ɛn ɛkstra big divays dɛn, bɔt nɔto di fɔsxs
brekpoint). - Yu kin yuz prɛdifayn grid klas dɛn (lɛk
.col-4
) ɔ Sass miksin fɔ mɔ sɛmantik mak.
Yu fɔ no di limiteshɔn ɛn di bɔg dɛn we de rawnd flexbox , lɛk di we aw yu nɔ ebul fɔ yuz sɔm HTML ɛlimɛnt dɛn as fleks kɔntena dɛn .
Grid opshɔn dɛn
Wail Bootstrap de yuz em
s ɔ rem
s fɔ difayn mɔs saiz dɛn, px
dɛn de yuz s fɔ grid brekpɔynt ɛn kɔntena wit. Dis na bikɔs di viupɔt wit na piksɛl ɛn i nɔ de chenj wit di font saiz .
Si aw aspek dɛn fɔ di Bootstrap grid sistem de wok akɔdin to bɔku divays dɛn wit wan tebul we izi fɔ yuz.
Ekstra smɔl <576px |
Smɔl ≥576px |
Midul ≥768px fɔ di wan dɛn we de |
Big big ≥992px |
Ekstra big ≥1200px |
|
---|---|---|---|---|---|
Maks kontena wit | Nɔn nɔ de (ɔto) . | 540px na di pikchɔ | 720px na di pikchɔ | 960px na di pikchɔ | 1140px na di pikchɔ |
Klas prɛfiks | .col- |
.col-sm- |
.col-md- |
.col-lg- |
.col-xl- |
# fɔ kɔlɔm dɛn | 12 we de tɔk bɔt | ||||
Width fɔ di gɔta | 30px (15px na ɛni say na wan kɔlɔm) | ||||
Nestable fɔ di wan dɛn we de | Yɛs | ||||
Kɔlɔm fɔ ɔda | Yɛs |
Ɔto-layout kɔlɔm dɛn
Yutilayz brekpoint-spɛsifi k kɔlɔm klas fɔ izi kɔlɔm saiz we nɔ gɛt ɛksplisit nɔmba klas lɛk .col-sm-6
.
Ikual-width
Fɔ ɛgzampul, na tu grid layout dɛn ya we de aplay to ɛvri divays ɛn viupɔt, frɔm xs
to xl
. Ad ɛni nɔmba fɔ klas dɛn we nɔ gɛt yunit fɔ ɛni brekpɔynt we yu nid ɛn ɛvri kɔlɔm go bi di sem wit.
Yu kin brok kɔlɔm dɛn we gɛt ikwal-wid insay bɔku layn dɛn, bɔt wan Safari fleksbɔks bɔg bin de we bin mek dis nɔ wok we nɔ gɛt wan flex-basis
ɔ border
. Wokarawnd de fɔ ol brawza vɛshɔn dɛn, bɔt dɛn nɔ fɔ nid fɔ de if yu de ɔp-to-dɛt.
Set wan kɔlɔm wit
Oto-layout fɔ flexbox grid kɔlɔm dɛn min bak se yu kin sɛt di wit fɔ wan kɔlɔm ɛn mek di brɔda ɛn sista dɛn kɔlɔm dɛn ɔtomɛtik chenj di sayz rawnd am. Yu kin yuz grid klas dɛn we dɛn dɔn difayn bifo tɛm (as dɛn sho dɔŋ ya), grid miksin dɛn, ɔ inlayn wit dɛn. Notis se di ɔda kɔlɔm dɛn go chenj di sayz ilɛksɛf di sɛnta kɔlɔm big.
Variable width kɔntinyu fɔ de
Yuz col-{breakpoint}-auto
klas fɔ saiz kɔlɔm dɛn bay di natura width fɔ dɛn kɔntinyu.
Ikual-wid we gɛt bɔku bɔku rɔw dɛn
Krio kɔlɔm dɛn we gɛt ikwal-wid we de span bɔku bɔku row dɛn bay we yu put wan .w-100
usay yu want di kɔlɔm dɛn fɔ brok to nyu layn. Mek di brek dɛn rispɔnsiv bay we yu miks di .w-100
wit sɔm rispɔnsiv displei yutiliti dɛn .
Klas dɛn we de ansa
Bootstrap in grid inklud fayv taya dɛn fɔ prɛdifayn klas dɛn fɔ bil kɔmpleks rispɔnsiv layout dɛn. Kastamayz di sayz fɔ yu kɔlɔm dɛn pan ɛkstra smɔl, smɔl, midul, big, ɔ ɛkstra big divays dɛn aw yu si se i fayn.
Ɔl di brekpoint dɛn
Fɔ grid dɛn we na di sem frɔm di smɔl wan dɛn to di big wan dɛn, yuz di .col
ɛn .col-*
klas dɛn. Spɛsifikɛt wan klas we gɛt nɔmba we yu nid wan kɔlɔm we gɛt patikyula sayz; if nɔto dat, fil fri fɔ stik to .col
.
Stak to ɔrizɔntal
Yuz wan singl set fɔ .col-sm-*
klas, yu kin mek wan besik grid sistem we de stat aut stak ɛn bi ɔrizɔntal na di smɔl brekpoint ( sm
).
Miks ɛn mach
Yu nɔ want yu kɔlɔm dɛn fɔ jɔs stak insay sɔm grid taya dɛn? Yuz wan kɔmbaynshɔn fɔ difrɛn klas dɛn fɔ ɛni taya as nid de. Si di ɛgzampul we de dɔŋ fɔ no mɔ bɔt aw ɔltin de wok.
Gɔta dɛn
Gutters kin rispɔnsivli ajɔst bay brekpɔynt-spɛsifi k padding ɛn nɛgitiv margin yutiliti klas dɛn. Fɔ chenj di gɔta dɛn na wan givɛn row, pe wan nɛgitiv margin yutiliti na di .row
ɛn maching padding yutiliti dɛn na di .col
s. Di .container
ɔ mama ɔ .container-fluid
papa kin nid fɔ ajɔst bak fɔ avɔyd ɔvaflɔ we yu nɔ want, yuz bak matching padding utility.
Na wan ɛgzampul fɔ kɔstɔmayz di Bootstrap grid na di big ( lg
) brekpoint ɛn ɔp. Wi dɔn inkrisayz di .col
padding wit .px-lg-5
, kɔntrakt dat wit .mx-lg-n5
pan di mama ɛn papa .row
ɛn afta dat wi ajɔst di .container
wrap wit .px-lg-5
.
Alignmɛnt fɔ di wan dɛn we de
Yuz fleksbɔks alaynɛshɔn yutiliti fɔ alaynɛt kɔlɔm dɛn vertikal ɛn ɔrizɔntal wan.
Vɛtikal alaynɛshɔn
Ɔrizɔntal alaynɛshɔn
Nɔ gɛt gɔta dɛn
Di gɔta dɛn bitwin kɔlɔm dɛn na wi grid klas dɛn we wi dɔn disayd fɔ du, yu kin pul am wit .no-gutters
. Dis de pul di negatif margin
s frכm .row
εn di כrizכnal padding
frכm כl di imεdiεt pikin kכlכm dεm.
Na di sɔs kɔd fɔ mek dɛn stayl ya. Notis se di kɔlɔm ɔvarayd dɛn de skɔp to di fɔs pikin kɔlɔm dɛn nɔmɔ ɛn dɛn de tɔch dɛn bay atribyut sɛlɛktɔ . Pan ɔl we dis de mek wan mɔ spɛshal sɛlɛktɔ, dɛn kin stil kɔstɔmayz kɔlɔm pad mɔ wit spɛshal yutiliti dɛn .
Nid wan ed-to-ed dizayn? Drɔp di mama ɔ papa .container
ɔ .container-fluid
.
In praktis, na so i luk. Notis se yu kin kɔntinyu fɔ yuz dis wit ɔl di ɔda grid klas dɛn we dɛn dɔn pridifayn (inklud di kɔlɔm dɛn wit, di taya dɛn we de ansa, di ɔda tin dɛn we dɛn dɔn ɔda, ɛn ɔda tin dɛn).
Kɔlɔm fɔ rap
If dɛn put pas 12 kɔlɔm dɛn insay wan row, ɛni grup we gɛt ɛkstra kɔlɔm dɛn go, as wan yunit, rap pan nyu layn.
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.
Column breaks
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.
Reordering
Order classes
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
We yu de muf pas di kɔlɔm dɛnsɛf, yu kin kɔstɔmayt bak di nɔmba fɔ di grid taya dɛn. If yu bin want jɔs 4 grid taya, yu go ɔpdet di $grid-breakpoints
ɛn $container-max-widths
to sɔntin lɛk dis:
We yu de mek ɛni chenj to di Sass vɛriɔbul ɔ map dɛn, yu go nid fɔ kip yu chenj dɛn ɛn kɔmpilayt bak. If yu du dat, i go autput wan brand nyu sɛt fɔ pridifayn grid klas fɔ kɔlɔm wit, ɔfset, ɛn ɔda. Rispɔnsiv visibiliti yutiliti dɛn go ɔpdet bak fɔ yuz di kɔstɔm brekpɔynt dɛn. Mek shɔ se yu sɛt grid valyu dɛn na px
(nɔto rem
, em
, ɔ %
).