Rafitra Grid
Ampiasao ny gridbox flexbox voalohany amin'ny finday mahery vaika mba hananganana lamina amin'ny endrika sy habe rehetra noho ny rafitra tsanganana roa ambin'ny folo, ambaratonga dimy mamaly default, sass variables sy mixins, ary kilasy am-polony efa voafaritra mialoha.
Ny rafitry ny grid Bootstrap dia mampiasa andiana kaontenera, andalana ary tsanganana mba hamolavolana sy hampifanaraka ny atiny. Namboarina tamin'ny flexbox izy io ary mamaly tanteraka. Ity ambany ity ny ohatra iray sy ny fijerena lalindalina ny fomba fiarahan'ny grid.
Vaovao na tsy mahazatra amin'ny flexbox? Vakio ity torolalana flexbox CSS Tricks ity ho an'ny fiaviana, ny teny, ny torolàlana ary ny sombin-kaody.
<div class="container">
<div class="row">
<div class="col-sm">
One of three columns
</div>
<div class="col-sm">
One of three columns
</div>
<div class="col-sm">
One of three columns
</div>
</div>
</div>
Ny ohatra etsy ambony dia mamorona tsanganana telo mitovy sakany amin'ny fitaovana kely, antonony, lehibe ary lehibe kokoa amin'ny alàlan'ny kilasin'ny grid efa voafaritra mialoha. Ireo tsanganana ireo dia eo afovoan'ny pejy misy ny ray aman-dreny .container
.
Ny fandravana azy dia izao no fomba fiasa:
- Ny kaontenera dia manome fitaovana entina iantohana sy marindrano ny votoatin'ny tranokalanao. Ampiasaina
.container
amin'ny sakan'ny piksela mamaly na.container-fluid
ho an'ny habakawidth: 100%
rehetra sy ny haben'ny fitaovana. - Ny andalana dia fonosina ho an'ny tsanganana. Ny tsanganana tsirairay dia manana marindrano
padding
(antsoina hoe tatatra) mba hifehezana ny habaka eo anelanelan'izy ireo. Izanypadding
dia mifanohitra amin'ny andalana misy sisiny ratsy. Amin'izany fomba izany, ny votoaty rehetra ao amin'ny tsangananao dia mirindra tsara amin'ny ilany havia. - Amin'ny rindran-tsary dia tsy maintsy apetraka ao anatin'ny tsanganana ny atiny ary ny tsanganana ihany no mety ho zanaky ny andalana avy hatrany.
- Noho ny flexbox, ny tsanganana grid tsy misy voatondro
width
dia hapetraka ho tsanganana mitovy sakany. Ohatra, ny tranga efatra.col-sm
dia samy ho tonga ho azy 25% ny sakany avy amin'ny toerana tapaka kely sy ambony. Jereo ny fizarana tsanganana fandrindrana mandeha ho azy raha te hahitana ohatra bebe kokoa. - Ny kilasin'ny tsanganana dia manondro ny isan'ny tsanganana tianao hampiasaina amin'ny mety ho 12 isaky ny andalana. Noho izany, raha mila tsanganana telo mitovy sakany ianao dia azonao atao ny mampiasa
.col-4
. - Ny tsanganana
width
dia napetraka amin'ny isan-jato, noho izany dia miovaova sy habe foana izy ireo raha oharina amin'ny singa ray aman-dreniny. - Ny tsanganana dia manana marindrano
padding
mba hamoronana ny tatatra eo anelanelan'ny tsanganana tsirairay, na izany aza, azonao atao ny manala nymargin
andalana sypadding
ny tsanganana miaraka.no-gutters
amin'ny.row
. - Mba hahatonga ny grid ho mamaly dia misy teboka dimy tapaka, iray isaky ny tapaka mamaly : teboka rehetra (kely fanampiny), kely, antonony, lehibe ary lehibe fanampiny.
- Ny teboka tapaka dia mifototra amin'ny fangatahan'ny haino aman-jery sakan'ny kely indrindra, izany hoe mihatra amin'io teboka tapaka io sy ireo rehetra eo amboniny (oh:
.col-sm-4
mihatra amin'ny fitaovana kely, antonony, lehibe ary lehibe kokoa, fa tsy nyxs
teboka voalohany). - Azonao atao ny mampiasa kilasy grid efa voafaritra mialoha (toy ny
.col-4
) na Sass mixins ho marika semantika bebe kokoa.
Tandremo ny famerana sy ny bibikely manodidina ny flexbox , toy ny tsy fahafahana mampiasa singa HTML sasany ho toy ny container flex .
Raha mampiasa em
s na rem
s ny Bootstrap hamaritana ny ankamaroan'ny habe, px
ny s kosa dia ampiasaina amin'ny teboka tapaka sy ny sakan'ny fitoeran-javatra. Izany dia satria amin'ny pixel ny sakan'ny seranan-tsambo ary tsy miova amin'ny haben'ny endritsoratra .
Jereo ny fomba fiasan'ny rafitra grid Bootstrap amin'ny fitaovana maro miaraka amin'ny latabatra azo ampiasaina.
Kely fanampiny <576px |
Kely ≥576px |
antonony ≥768px |
Lehibe ≥992px |
Lehibe fanampiny ≥1200px |
|
---|---|---|---|---|---|
Max sakan'ny fitoeran-javatra | Tsy misy (auto) | 540px | 720px | 960px | 1140px |
Prefix kilasy | .col- |
.col-sm- |
.col-md- |
.col-lg- |
.col-xl- |
# tsanganana | 12 | ||||
Sakan'ny tatatra | 30px (15px amin'ny lafiny tsirairay amin'ny tsanganana) | ||||
Nestable | ENY | ||||
Filaharana tsanganana | ENY |
Mampiasà kilasy tsanganana manokana ho an'ny fametahana tsanganana mora tsy misy kilasy misy laharana mazava toy ny .col-sm-6
.
Ohatra, ireto misy rindrankajy roa mihatra amin'ny fitaovana tsirairay sy ny seranan-tsambo, manomboka xs
amin'ny xl
. Ampio kilasy latsaky ny isa isaky ny teboka ilainao ary hitovy ny sakany ny tsanganana tsirairay.
<div class="container">
<div class="row">
<div class="col">
1 of 2
</div>
<div class="col">
2 of 2
</div>
</div>
<div class="row">
<div class="col">
1 of 3
</div>
<div class="col">
2 of 3
</div>
<div class="col">
3 of 3
</div>
</div>
</div>
Ny tsanganana mitovy amin'ny sakany dia azo zaraina amin'ny tsipika maromaro, saingy nisy ny Safari flexbox bug izay nanakana izany tsy hiasa tsy flex-basis
misy border
. Misy fomba fiasa ho an'ny dikan-tranonkala tranainy, saingy tsy tokony ho ilaina izany raha toa ka manaraka ny vaovao ianao.
<div class="container">
<div class="row">
<div class="col">Column</div>
<div class="col">Column</div>
<div class="w-100"></div>
<div class="col">Column</div>
<div class="col">Column</div>
</div>
</div>
Ny fandrindrana mandeha ho azy ho an'ny tsanganana flexbox grid dia midika ihany koa fa azonao atao ny mametraka ny sakan'ny tsanganana iray ary manana ny tsanganana mpiray tam-po aminy hanova azy ho azy. Azonao atao ny mampiasa ny kilasin'ny grid efa voafaritra mialoha (araka ny aseho eto ambany), ny fifangaroan'ny grid, na ny sakany an-tsipika. Mariho fa ny tsanganana hafa dia hanova ny habeny na inona na inona sakan'ny tsanganana afovoany.
<div class="container">
<div class="row">
<div class="col">
1 of 3
</div>
<div class="col-6">
2 of 3 (wider)
</div>
<div class="col">
3 of 3
</div>
</div>
<div class="row">
<div class="col">
1 of 3
</div>
<div class="col-5">
2 of 3 (wider)
</div>
<div class="col">
3 of 3
</div>
</div>
</div>
Mampiasà col-{breakpoint}-auto
kilasy hamehezana tsanganana mifototra amin'ny sakany voajanahary amin'ny atiny.
<div class="container">
<div class="row justify-content-md-center">
<div class="col col-lg-2">
1 of 3
</div>
<div class="col-md-auto">
Variable width content
</div>
<div class="col col-lg-2">
3 of 3
</div>
</div>
<div class="row">
<div class="col">
1 of 3
</div>
<div class="col-md-auto">
Variable width content
</div>
<div class="col col-lg-2">
3 of 3
</div>
</div>
</div>
Mamorona tsanganana mitovy sakany izay mivelatra andalana maromaro amin'ny alàlan'ny fampidirana ny .w-100
toerana tianao hidiran'ny tsanganana amin'ny tsipika vaovao. Ataovy mamaly ny fiatoana amin'ny alàlan'ny fampifangaroana ny fitaovana fampirantiana mandray andraikitra.w-100
sasany .
<div class="row">
<div class="col">col</div>
<div class="col">col</div>
<div class="w-100"></div>
<div class="col">col</div>
<div class="col">col</div>
</div>
Ny grid's Bootstrap dia ahitana ambaratonga dimy amin'ny kilasy efa voafaritra mialoha ho an'ny fananganana rindran-tsary mamaly be pitsiny. Amboary ny haben'ny tsangananao amin'ny fitaovana kely, kely, antonony, lehibe, na lehibe kokoa araka izay hitanao fa mety.
Ho an'ny grids mitovy amin'ny fitaovana kely indrindra ka hatramin'ny lehibe indrindra, ampiasao ny .col
and .col-*
classes. Manondro kilasy misy laharana rehefa mila tsanganana manokana ianao; raha tsy izany, aza misalasala mifikitra amin'ny .col
.
<div class="row">
<div class="col">col</div>
<div class="col">col</div>
<div class="col">col</div>
<div class="col">col</div>
</div>
<div class="row">
<div class="col-8">col-8</div>
<div class="col-4">col-4</div>
</div>
Amin'ny fampiasana .col-sm-*
kilasy tokana iray dia azonao atao ny mamorona rafitra grid fototra izay manomboka mivondrona alohan'ny hahatongavanao mitsivalana miaraka amin'ny teboka tapaka kely ( sm
).
<div class="row">
<div class="col-sm-8">col-sm-8</div>
<div class="col-sm-4">col-sm-4</div>
</div>
<div class="row">
<div class="col-sm">col-sm</div>
<div class="col-sm">col-sm</div>
<div class="col-sm">col-sm</div>
</div>
Tsy tianao ve ny tsanganana mba hiangona fotsiny amin'ny ambaratonga sasany? Mampiasà fitambarana kilasy samihafa ho an'ny ambaratonga tsirairay araka izay ilaina. Jereo ny ohatra etsy ambany raha te hahalala tsara kokoa ny fomba fiasan'izy rehetra.
<!-- Stack the columns on mobile by making one full-width and the other half-width -->
<div class="row">
<div class="col-12 col-md-8">.col-12 .col-md-8</div>
<div class="col-6 col-md-4">.col-6 .col-md-4</div>
</div>
<!-- Columns start at 50% wide on mobile and bump up to 33.3% wide on desktop -->
<div class="row">
<div class="col-6 col-md-4">.col-6 .col-md-4</div>
<div class="col-6 col-md-4">.col-6 .col-md-4</div>
<div class="col-6 col-md-4">.col-6 .col-md-4</div>
</div>
<!-- Columns are always 50% wide, on mobile and desktop -->
<div class="row">
<div class="col-6">.col-6</div>
<div class="col-6">.col-6</div>
</div>
Mampiasà fitaovana fampifanarahana flexbox mba hampirindra ny tsanganana mitsangana sy mitsivalana.
<div class="container">
<div class="row align-items-start">
<div class="col">
One of three columns
</div>
<div class="col">
One of three columns
</div>
<div class="col">
One of three columns
</div>
</div>
<div class="row align-items-center">
<div class="col">
One of three columns
</div>
<div class="col">
One of three columns
</div>
<div class="col">
One of three columns
</div>
</div>
<div class="row align-items-end">
<div class="col">
One of three columns
</div>
<div class="col">
One of three columns
</div>
<div class="col">
One of three columns
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col align-self-start">
One of three columns
</div>
<div class="col align-self-center">
One of three columns
</div>
<div class="col align-self-end">
One of three columns
</div>
</div>
</div>
<div class="container">
<div class="row justify-content-start">
<div class="col-4">
One of two columns
</div>
<div class="col-4">
One of two columns
</div>
</div>
<div class="row justify-content-center">
<div class="col-4">
One of two columns
</div>
<div class="col-4">
One of two columns
</div>
</div>
<div class="row justify-content-end">
<div class="col-4">
One of two columns
</div>
<div class="col-4">
One of two columns
</div>
</div>
<div class="row justify-content-around">
<div class="col-4">
One of two columns
</div>
<div class="col-4">
One of two columns
</div>
</div>
<div class="row justify-content-between">
<div class="col-4">
One of two columns
</div>
<div class="col-4">
One of two columns
</div>
</div>
</div>
Azo esorina miaraka amin'ny .no-gutters
. Izany dia manala ny ratsy sy margin
ny .row
marindrano padding
amin'ny tsanganana ankizy rehetra.
Ity ny kaody loharano hamoronana ireo fomba ireo. Mariho fa ny fanodinkodinana tsanganana dia miompana amin'ny tsanganana ankizy voalohany ihany ary lasibatra amin'ny alalan'ny fisafidianana toetra . Na dia miteraka mpisafidy manokana kokoa aza izany, ny padding tsanganana dia mbola azo amboarina bebe kokoa miaraka amin'ny fitaovana fanasarahana .
Mila endrika mitongilana? Atsaharo ny ray aman-dreny .container
na .container-fluid
.
Amin'ny fampiharana, toy izao ny endriny. Mariho fa azonao atao ny manohy mampiasa an'io miaraka amin'ireo kilasin'ny grid hafa efa voafaritra mialoha (anisan'izany ny sakan'ny tsanganana, ny ambaratongam-pandrenesana, ny fanavaozana, ary ny maro hafa).
<div class="row no-gutters">
<div class="col-12 col-sm-6 col-md-8">.col-12 .col-sm-6 .col-md-8</div>
<div class="col-6 col-md-4">.col-6 .col-md-4</div>
</div>
Raha tsanganana mihoatra ny 12 no apetraka ao anatin'ny andalana iray, ny vondrona tsirairay misy tsanganana fanampiny dia, amin'ny maha singa iray, dia mifono tsipika vaovao.
Hatramin'ny 9 + 4 = 13 > 12, ity div misy tsanganana 4 ity dia mifamatotra amin'ny tsipika vaovao ho singa iray mifanakaiky.
Mitohy manaraka ny tsipika vaovao ny tsanganana manaraka.
<div class="row">
<div class="col-9">.col-9</div>
<div class="col-4">.col-4<br>Since 9 + 4 = 13 > 12, this 4-column-wide div gets wrapped onto a new line as one contiguous unit.</div>
<div class="col-6">.col-6<br>Subsequent columns continue along the new line.</div>
</div>
Ny fanapahana tsanganana amin'ny tsipika vaovao ao amin'ny flexbox dia mitaky hack kely: ampio singa iray miaraka width: 100%
amin'izay tianao hametahana ny tsangananao amin'ny tsipika vaovao. Amin'ny ankapobeny dia vita amin'ny .row
s maromaro izany, saingy tsy ny fomba fampiharana rehetra no afaka mitantana izany.
<div class="row">
<div class="col-6 col-sm-3">.col-6 .col-sm-3</div>
<div class="col-6 col-sm-3">.col-6 .col-sm-3</div>
<!-- Force next columns to break to new line -->
<div class="w-100"></div>
<div class="col-6 col-sm-3">.col-6 .col-sm-3</div>
<div class="col-6 col-sm-3">.col-6 .col-sm-3</div>
</div>
Azonao atao ihany koa ny mampihatra an'io fiatoana io amin'ny toerana fiatoana manokana miaraka amin'ireo fitaovana fampirantiana mandray andraikitra .
<div class="row">
<div class="col-6 col-sm-4">.col-6 .col-sm-4</div>
<div class="col-6 col-sm-4">.col-6 .col-sm-4</div>
<!-- Force next columns to break to new line at md breakpoint and up -->
<div class="w-100 d-none d-md-block"></div>
<div class="col-6 col-sm-4">.col-6 .col-sm-4</div>
<div class="col-6 col-sm-4">.col-6 .col-sm-4</div>
</div>
Mampiasà .order-
kilasy hifehezana ny filaharan'ny maso ny atiny. Ireo kilasy ireo dia mamaly, noho izany dia azonao atao ny mametraka ny order
teboka (ohatra, .order-1.order-md-2
). Ahitana fanohanana amin'ny 1
alàlan'ny 12
ambaratonga dimy rehetra.
<div class="container">
<div class="row">
<div class="col">
First, but unordered
</div>
<div class="col order-12">
Second, but last
</div>
<div class="col order-1">
Third, but first
</div>
</div>
</div>
Misy ihany koa ireo kilasy mamaly .order-first
sy .order-last
manova ny order
singa iray amin'ny fampiharana order: -1
sy order: 13
( order: $columns + 1
), tsirairay avy. Ireo kilasy ireo koa dia azo ampifandraisina amin'ireo .order-*
kilasy voaisa raha ilaina.
<div class="container">
<div class="row">
<div class="col order-last">
First, but last
</div>
<div class="col">
Second, but unordered
</div>
<div class="col order-first">
Third, but first
</div>
</div>
</div>
Azonao atao ny manonitra ny tsanganana tsanganana amin'ny fomba roa: ny .offset-
kilasin'ny grids mandray andraikitra sy ny fampiasa amin'ny sisiny . Ny kilasin'ny grid dia mifanandrify amin'ny tsanganana raha toa ka mahasoa kokoa ny sisiny ho an'ny fandrindrana haingana izay miovaova ny sakan'ny offset.
Alefaso miankavanana ny tsanganana amin'ny fampiasana .offset-md-*
kilasy. Ireo kilasy ireo dia mampitombo ny sisiny havia amin'ny tsanganana amin'ny *
tsanganana. Ohatra, .offset-md-4
mihetsika .col-md-4
mihoatra ny tsanganana efatra.
<div class="row">
<div class="col-md-4">.col-md-4</div>
<div class="col-md-4 offset-md-4">.col-md-4 .offset-md-4</div>
</div>
<div class="row">
<div class="col-md-3 offset-md-3">.col-md-3 .offset-md-3</div>
<div class="col-md-3 offset-md-3">.col-md-3 .offset-md-3</div>
</div>
<div class="row">
<div class="col-md-6 offset-md-3">.col-md-6 .offset-md-3</div>
</div>
Ho fanampin'ny famafana tsanganana amin'ny toerana fiatoana mamaly, mety mila averinao indray ny offset. Jereo ity hetsika ity ao amin'ny ohatra grid .
<div class="row">
<div class="col-sm-5 col-md-6">.col-sm-5 .col-md-6</div>
<div class="col-sm-5 offset-sm-2 col-md-6 offset-md-0">.col-sm-5 .offset-sm-2 .col-md-6 .offset-md-0</div>
</div>
<div class="row">
<div class="col-sm-6 col-md-5 col-lg-6">.col-sm-6 .col-md-5 .col-lg-6</div>
<div class="col-sm-6 col-md-5 offset-md-2 col-lg-6 offset-lg-0">.col-sm-6 .col-md-5 .offset-md-2 .col-lg-6 .offset-lg-0</div>
</div>
Miaraka amin'ny fifindrana mankany amin'ny flexbox ao amin'ny v4, azonao atao ny mampiasa fitaovana margin toy .mr-auto
ny manery ny tsanganana mpiray tam-po amin'ny tsirairay.
<div class="row">
<div class="col-md-4">.col-md-4</div>
<div class="col-md-4 ml-auto">.col-md-4 .ml-auto</div>
</div>
<div class="row">
<div class="col-md-3 ml-md-auto">.col-md-3 .ml-md-auto</div>
<div class="col-md-3 ml-md-auto">.col-md-3 .ml-md-auto</div>
</div>
<div class="row">
<div class="col-auto mr-auto">.col-auto .mr-auto</div>
<div class="col-auto">.col-auto</div>
</div>
Mba hanakanana ny atiny amin'ny rindran-damina mahazatra, ampio tsanganana vaovao .row
sy andiana .col-sm-*
tsanganana iray ao anatin'ny .col-sm-*
tsanganana efa misy. Ny andalana voatokana dia tokony ahitana andiana tsanganana miampy 12 na latsaka (tsy voatery hampiasa ny tsanganana 12 rehetra misy ianao).
<div class="row">
<div class="col-sm-9">
Level 1: .col-sm-9
<div class="row">
<div class="col-8 col-sm-6">
Level 2: .col-8 .col-sm-6
</div>
<div class="col-4 col-sm-6">
Level 2: .col-4 .col-sm-6
</div>
</div>
</div>
</div>
Rehefa mampiasa fisie Sass loharanon'ny Bootstrap ianao dia manana safidy amin'ny fampiasana ny fari-pahaizan'ny Sass sy ny mixins mba hamoronana fandrafetana pejy mahazatra, semantika ary mandray andraikitra. Ny kilasin'ny grid efa nofaritanay dia mampiasa ireo fari-pahalalana sy mixins ireo ihany mba hanomezana andiana kilasy vonona hampiasaina ho an'ny fandrindrana mandray andraikitra haingana.
Ny fiovaovana sy ny sarintany no mamaritra ny isan'ny tsanganana, ny sakan'ny tatatra, ary ny toerana fangataham-baovao hanombohana tsanganana mitsingevana. Ampiasainay ireo mba hamoronana ny kilasin'ny grid efa voafaritra mialoha voarakitra etsy ambony, ary koa ho an'ny mixins mahazatra voatanisa etsy ambany.
Ny mixins dia ampiasaina miaraka amin'ny fari-piainan'ny grid mba hamoronana CSS semantika ho an'ny tsanganana tsirairay.
Azonao atao ny manova ny fari-piainana amin'ny soatoavinao manokana, na mampiasa fotsiny ny mixins miaraka amin'ny sanda mahazatra azy. Ity misy ohatra iray amin'ny fampiasana ny firafitry ny default mba hamoronana lamina misy tsanganana roa misy elanelana eo anelanelany.
<div class="example-container">
<div class="example-row">
<div class="example-content-main">Main content</div>
<div class="example-content-secondary">Secondary content</div>
</div>
</div>
Amin'ny fampiasana ny fari-piadidiana sy ny sari-tany Sass ao anatiny, dia azo atao ny mampifanaraka tanteraka ny kilasin'ny grid efa voafaritra mialoha. Ovay ny isan'ny ambaratonga, ny refin'ny fangatahana media ary ny sakan'ny fitoeran-javatra—dia avereno amboarina.
Ny isan'ny tsanganana grid dia azo ovaina amin'ny alàlan'ny fari-piadidiana Sass. $grid-columns
dia ampiasaina hamokarana ny sakany (amin'ny isan-jato) amin'ny tsanganana tsirairay ary $grid-gutter-width
mamela ny sakany manokana amin'ny teboka tapaka izay zaraina mitovy padding-left
sy padding-right
ho an'ny tatatra tsanganana.
Mifindra any ivelan'ny tsanganana, azonao atao koa ny mampifanaraka ny isan'ny tsanganana. Raha mila tiers grid efatra fotsiny ianao dia havaozina ny $grid-breakpoints
sy $container-max-widths
amin'ny zavatra toy izao:
Rehefa manao fanovana amin'ny fari-piadidiana na sari-tany Sass dia mila mitahiry ny fanovanao ianao ary manangona indray. Ny fanaovana izany dia hamoaka andiana kilasin'ny grid efa voafaritra mialoha ho an'ny sakan'ny tsanganana, ny offset ary ny filaharana. Havaozina ihany koa ny fampitaovana fahitana mamaly mba hampiasana ireo teboka fiatoana mahazatra. Ataovy azo antoka ny mametraka ny soatoavin'ny grid px
(tsy rem
, em
, na %
).