Սյունակներ
Իմացեք, թե ինչպես փոփոխել սյունակները հավասարեցման, պատվիրման և հաշվանցման մի քանի տարբերակներով՝ շնորհիվ մեր flexbox ցանցային համակարգի: Բացի այդ, տեսեք, թե ինչպես օգտագործել սյունակների դասերը ոչ ցանցային տարրերի լայնությունները կառավարելու համար:
Ինչպես են նրանք աշխատում
-
Սյունակները կառուցված են ցանցի flexbox ճարտարապետության վրա: Flexbox նշանակում է, որ մենք ունենք առանձին սյունակներ փոխելու և տողերի մակարդակով սյունակների խմբերը փոփոխելու տարբերակներ : Դուք ընտրում եք, թե ինչպես են սյունակները մեծանում, փոքրանում կամ այլ կերպ փոխվում:
-
Ցանցային դասավորություններ կառուցելիս ամբողջ բովանդակությունը անցնում է սյունակներով: Bootstrap-ի ցանցի հիերարխիան անցնում է կոնտեյներից տող սյունակ ձեր բովանդակությանը: Հազվագյուտ դեպքերում դուք կարող եք համատեղել բովանդակությունը և սյունակը, բայց տեղյակ եղեք, որ կարող են լինել անցանկալի հետևանքներ:
-
Bootstrap-ը ներառում է կանխորոշված դասեր՝ արագ, արձագանքող դասավորություններ ստեղծելու համար: Վեց բեկման կետերով և մեկ տասնյակ սյունակներով յուրաքանչյուր ցանցի մակարդակում մենք ունենք տասնյակ դասեր արդեն կառուցված ձեզ համար՝ ստեղծելու ձեր ցանկալի դասավորությունները: Եթե ցանկանում եք, սա կարող է անջատվել Sass-ի միջոցով:
Հավասարեցում
Օգտագործեք flexbox հավասարեցման կոմունալ ծառայություններ՝ սյունակները ուղղահայաց և հորիզոնական հավասարեցնելու համար:
Ուղղահայաց հավասարեցում
<div class="container text-center">
<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 text-center">
<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 text-center">
<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 class="row justify-content-evenly">
<div class="col-4">
One of two columns
</div>
<div class="col-4">
One of two columns
</div>
</div>
</div>
Սյունակի փաթաթում
Եթե մեկ տողում տեղադրված են ավելի քան 12 սյունակներ, ապա լրացուցիչ սյունակների յուրաքանչյուր խումբ, որպես մեկ միավոր, կփաթաթվի նոր տողի վրա:
Քանի որ 9 + 4 = 13 > 12, այս 4 սյունակ լայնությամբ բաժանումը փաթաթվում է նոր տողի վրա որպես մեկ հարակից միավոր:
Հաջորդ սյունակները շարունակվում են նոր գծի երկայնքով:
<div class="container">
<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>
</div>
Սյունակի ընդմիջումներ
Flexbox-ում սյունակները նոր տող կտրելու համար պահանջվում է մի փոքր կոտրվածք. ավելացրեք տարր, width: 100%
որտեղ ցանկանում եք փաթաթել ձեր սյունակները նոր տողում: Սովորաբար դա իրականացվում է բազմաթիվ .row
s-ներով, բայց ոչ բոլոր իրականացման մեթոդը կարող է դա բացատրել:
<div class="container text-center">
<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>
</div>
Դուք կարող եք նաև կիրառել այս ընդմիջումը որոշակի ընդմիջման կետերում մեր արձագանքող ցուցադրման կոմունալ ծրագրերի միջոցով :
<div class="container text-center">
<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>
</div>
Վերադասավորում
Պատվիրեք դասեր
Օգտագործեք դասեր ՝ ձեր բովանդակության տեսողական կարգը.order-
վերահսկելու համար : Այս դասերը արձագանքող են, այնպես որ կարող եք սահմանել ըստ ընդմիջման կետը (օրինակ՝ ): Ներառում է աջակցություն բոլոր վեց ցանցային մակարդակներում:order
.order-1.order-md-2
1
5
<div class="container text-center">
<div class="row">
<div class="col">
First in DOM, no order applied
</div>
<div class="col order-5">
Second in DOM, with a larger order
</div>
<div class="col order-1">
Third in DOM, with an order of 1
</div>
</div>
</div>
Կան նաև արձագանքող .order-first
և .order-last
դասեր, որոնք փոխում են order
տարրի արժեքը՝ համապատասխանաբար կիրառելով order: -1
և order: 6
. Այս դասերը կարող են նաև միախառնվել համարակալված .order-*
դասերի հետ՝ ըստ անհրաժեշտության:
<div class="container text-center">
<div class="row">
<div class="col order-last">
First in DOM, ordered last
</div>
<div class="col">
Second in DOM, unordered
</div>
<div class="col order-first">
Third in DOM, ordered first
</div>
</div>
</div>
Փոխհատուցման սյունակներ
.offset-
Դուք կարող եք փոխհատուցել ցանցի սյունակները երկու եղանակով . Ցանցային դասերը չափվում են սյունակներին համապատասխանելու համար, մինչդեռ լուսանցքներն ավելի օգտակար են արագ դասավորությունների համար, որտեղ օֆսեթի լայնությունը փոփոխական է:
Օֆսեթ դասեր
Տեղափոխեք սյունակները դեպի աջ՝ օգտագործելով .offset-md-*
դասերը: Այս դասերը մեծացնում են սյունակի ձախ լուսանցքն ըստ *
սյունակների: Օրինակ՝ .offset-md-4
շարժվում .col-md-4
է չորս սյունակի վրայով:
<div class="container text-center">
<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>
</div>
Ի հավելումն արձագանքող բեկման կետերում սյունակի մաքրմանը, ձեզ կարող է անհրաժեշտ լինել զրոյացնել օֆսեթները: Տեսեք սա ցանցի օրինակում գործողության մեջ :
<div class="container text-center">
<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>
</div>
Մարգինային կոմունալ ծառայություններ
V4-ում flexbox-ին անցնելու դեպքում դուք կարող եք օգտագործել լուսանցքի կոմունալ ծառայություններ, ինչպիսիք .me-auto
են՝ ստիպելով քույր-եղբոր սյունակները հեռացնել միմյանցից:
<div class="container text-center">
<div class="row">
<div class="col-md-4">.col-md-4</div>
<div class="col-md-4 ms-auto">.col-md-4 .ms-auto</div>
</div>
<div class="row">
<div class="col-md-3 ms-md-auto">.col-md-3 .ms-md-auto</div>
<div class="col-md-3 ms-md-auto">.col-md-3 .ms-md-auto</div>
</div>
<div class="row">
<div class="col-auto me-auto">.col-auto .me-auto</div>
<div class="col-auto">.col-auto</div>
</div>
</div>
Առանձին սյունակների դասեր
Դասերը .col-*
կարող են օգտագործվել նաև a- .row
ից դուրս՝ տարրին որոշակի լայնություն տալու համար: Ամեն անգամ, երբ սյունակների դասերը օգտագործվում են որպես տողերի ոչ ուղղակի երեխաներ, լրացումները բաց են թողնվում:
<div class="col-3 bg-light p-3 border">
.col-3: width of 25%
</div>
<div class="col-sm-9 bg-light p-3 border">
.col-sm-9: width of 75% above sm breakpoint
</div>
Դասերը կարող են օգտագործվել կոմունալ ծրագրերի հետ միասին՝ արձագանքող լողացող պատկերներ ստեղծելու համար: Համոզվեք, որ բովանդակությունը փաթաթել եք .clearfix
փաթաթանով, որպեսզի մաքրեք բոցը, եթե տեքստը ավելի կարճ է:
Տեղապահի տեքստի պարբերություն: Մենք այն օգտագործում ենք այստեղ՝ ցույց տալու clearfix դասի օգտագործումը: Մենք այստեղ ավելացնում ենք մի քանի անիմաստ արտահայտություններ՝ ցույց տալու համար, թե ինչպես են սյունակները փոխազդում այստեղ լողացող պատկերի հետ:
Ինչպես տեսնում եք, պարբերությունները նրբագեղորեն փաթաթվում են լողացող պատկերի շուրջը: Հիմա պատկերացրեք, թե ինչ տեսք կունենա այստեղ որոշակի իրական բովանդակություն, այլ ոչ թե պարզապես այս ձանձրալի տեղապահի տեքստը, որը շարունակվում է և շարունակվում, բայց իրականում շոշափելի տեղեկատվություն չի փոխանցում: Այն պարզապես տեղ է զբաղեցնում և իրականում չպետք է կարդալ:
Եվ այնուամենայնիվ, ահա դուք դեռ համառորեն կարդում եք այս տեղապահի տեքստը՝ հուսալով ավելի շատ պատկերացումների կամ բովանդակության ինչ-որ թաքնված Զատկի ձվի: Կատակ, երևի: Ցավոք սրտի, այստեղ դրանցից ոչ մեկը չկա:
<div class="clearfix">
<img src="..." class="col-md-6 float-md-end mb-3 ms-md-3" alt="...">
<p>
A paragraph of placeholder text. We're using it here to show the use of the clearfix class. We're adding quite a few meaningless phrases here to demonstrate how the columns interact here with the floated image.
</p>
<p>
As you can see the paragraphs gracefully wrap around the floated image. Now imagine how this would look with some actual content in here, rather than just this boring placeholder text that goes on and on, but actually conveys no tangible information at. It simply takes up space and should not really be read.
</p>
<p>
And yet, here you are, still persevering in reading this placeholder text, hoping for some more insights, or some hidden easter egg of content. A joke, perhaps. Unfortunately, there's none of that here.
</p>
</div>