Ցանցային համակարգ
Օգտագործեք մեր հզոր շարժական առաջին flexbox ցանցը՝ բոլոր ձևերի և չափերի դասավորություններ ստեղծելու համար՝ շնորհիվ տասներկու սյունակ համակարգի, հինգ լռելյայն արձագանքող մակարդակների, Sass փոփոխականների և խառնուրդների և տասնյակ նախապես սահմանված դասերի:
Ինչպես է դա աշխատում
Bootstrap-ի ցանցային համակարգը օգտագործում է մի շարք բեռնարկղեր, տողեր և սյունակներ՝ բովանդակությունը դասավորելու և հավասարեցնելու համար: Այն կառուցված է flexbox- ով և լիովին արձագանքող է: Ստորև բերված է օրինակ և խորը հայացք, թե ինչպես է ցանցը միավորվում:
Նորությա՞մբ եք կամ անծանոթ եք flexbox-ին: Կարդացեք այս CSS Tricks flexbox ուղեցույցը ՝ նախապատմության, տերմինաբանության, ուղեցույցների և կոդի հատվածների համար:
Վերոնշյալ օրինակը ստեղծում է երեք հավասար լայնությամբ սյունակներ փոքր, միջին, մեծ և լրացուցիչ մեծ սարքերում՝ օգտագործելով մեր նախապես սահմանված ցանցային դասերը: Այդ սյունակները կենտրոնացած են էջի վրա, որտեղ մայրն է .container
:
Կոտրելով այն, ահա թե ինչպես է այն աշխատում.
- Կոնտեյներները հնարավորություն են տալիս կենտրոնացնել և հորիզոնական հարթեցնել ձեր կայքի բովանդակությունը: Օգտագործեք
.container
արձագանքող պիքսելների լայնության.container-fluid
համար կամwidth: 100%
տեսադաշտի և սարքի բոլոր չափերի համար: - Տողերը սյուների փաթաթիչներ են: Յուրաքանչյուր սյուն ունի հորիզոնական
padding
(կոչվում է ջրհոր)՝ նրանց միջև տարածությունը վերահսկելու համար: Այնուհետևpadding
դա հակադրվում է բացասական լուսանցքներով տողերի վրա: Այսպիսով, ձեր սյունակների ամբողջ բովանդակությունը տեսողականորեն հավասարեցվում է ձախ կողմում: - Ցանցային դասավորության մեջ բովանդակությունը պետք է տեղադրվի սյունակների մեջ, և միայն սյունակները կարող են լինել տողերի անմիջական զավակներ:
- Flexbox-ի շնորհիվ ցանցային սյունակները՝ առանց նշվածի,
width
ավտոմատ կերպով կդասավորվեն որպես հավասար լայնության սյունակներ: Օրինակ, չորս օրինակ.col-sm
կամքի յուրաքանչյուրը ավտոմատ կերպով կունենա 25% լայնություն փոքր բեկման կետից և ավելի բարձր: Լրացուցիչ օրինակների համար տե՛ս ավտոմատ դասավորության սյունակների բաժինը: - Սյունակների դասերը ցույց են տալիս սյունակների քանակը, որոնք ցանկանում եք օգտագործել յուրաքանչյուր տողում հնարավոր 12-ից: Այսպիսով, եթե ցանկանում եք երեք հավասար լայնությամբ սյունակներ, կարող եք օգտագործել
.col-4
: - Սյունակները
width
սահմանվում են տոկոսներով, ուստի դրանք միշտ հեղուկ են և չափվում են իրենց մայր տարրի համեմատ: - Սյունակներն ունեն հորիզոնական
padding
՝ առանձին սյունակների միջև ջրհեղեղներ ստեղծելու համար, այնուամենայնիվ, դուք կարող եք հեռացնելmargin
տողերից ևpadding
սյունակներից՝.no-gutters
օգտագործելով.row
. - Ցանցը արձագանքող դարձնելու համար կա ցանցի հինգ ընդհատման կետ՝ մեկը յուրաքանչյուր արձագանքող բեկման կետի համար ՝ բոլոր ընդմիջման կետերը (չափազանց փոքր), փոքր, միջին, մեծ և չափազանց մեծ:
- Ցանցի ընդմիջման կետերը հիմնված են նվազագույն լայնության մեդիայի հարցումների վրա, այսինքն՝ դրանք կիրառվում են այդ մեկ ընդմիջման կետի և դրանից վերև գտնվող բոլոր կետերի վրա (օրինակ՝
.col-sm-4
կիրառվում է փոքր, միջին, մեծ և չափազանց մեծ սարքերի համար, բայց ոչ առաջինxs
ընդմիջման կետին): - Դուք կարող եք օգտագործել նախապես սահմանված ցանցային դասեր (ինչպես
.col-4
) կամ Sass խառնուրդներ ավելի շատ իմաստային նշագրման համար:
Ուշադիր եղեք flexbox- ի հետ կապված սահմանափակումների և սխալների մասին , ինչպես օրինակ HTML որոշ տարրեր որպես ճկուն կոնտեյներներ օգտագործելու անկարողությունը :
Ցանցային ընտրանքներ
Մինչ Bootstrap-ն օգտագործում em
է s կամ rem
s չափերի մեծամասնությունը որոշելու համար, px
s-ն օգտագործվում է ցանցի բեկման կետերի և բեռնարկղերի լայնությունների համար: Դա պայմանավորված է նրանով, որ տեսադաշտի լայնությունը պիքսելներով է և չի փոխվում տառաչափի հետ :
Տեսեք, թե ինչպես են Bootstrap grid համակարգի ասպեկտները աշխատում հարմար սեղան ունեցող բազմաթիվ սարքերում:
Շատ փոքր <576px |
Փոքր ≥576px |
Միջին ≥768px |
Մեծ ≥992px |
Չափազանց մեծ ≥1200px |
|
---|---|---|---|---|---|
Տարայի առավելագույն լայնությունը | Ոչ մեկը (ավտոմատ) | 540px | 720px | 960px | 1140px |
Դասի նախածանց | .col- |
.col-sm- |
.col-md- |
.col-lg- |
.col-xl- |
# սյունակներ | 12 | ||||
Հեղեղաջրերի լայնությունը | 30px (15px սյունակի յուրաքանչյուր կողմում) | ||||
Բնադրելի | Այո՛ | ||||
Սյունակների պատվիրում | Այո՛ |
Ավտոմատ դասավորության սյունակներ
Օգտագործեք ընդմիջման կետին հատուկ սյունակների դասեր սյունակների չափսերը հեշտացնելու համար՝ առանց բացահայտ համարակալված դասի, ինչպիսին է .col-sm-6
.
Հավասար լայնությամբ
Օրինակ, ահա երկու ցանցային դասավորություններ, որոնք կիրառվում են յուրաքանչյուր սարքի և տեսադաշտի համար՝ սկսած xs
մինչև xl
. Ավելացրե՛ք ցանկացած քանակի միավոր առանց դասերի յուրաքանչյուր բեկման կետի համար, որն անհրաժեշտ է, և յուրաքանչյուր սյունակ կունենա նույն լայնությունը:
Հավասար լայնությամբ բազմագիծ
Ստեղծեք հավասար լայնությամբ սյունակներ, որոնք ընդգրկում են մի քանի տող՝ տեղադրելով այն, .w-100
որտեղ ցանկանում եք, որ սյունակները կոտրվեն նոր տողով: Դարձրեք ընդմիջումները պատասխանատու՝ խառնելով .w-100
որոշ արձագանքող ցուցադրման կոմունալ ծառայությունների հետ :
Կար Safari flexbox-ի վրիպակ , որը թույլ չտվեց, որ սա աշխատի առանց բացահայտ flex-basis
կամ border
. Բրաուզերի ավելի հին տարբերակների համար կան լուծումներ, բայց դրանք չպետք է անհրաժեշտ լինեն, եթե ձեր թիրախային բրաուզերները չեն ընկնում խելագարված տարբերակների մեջ:
Մեկ սյունակի լայնության սահմանում
Flexbox ցանցի սյունակների ավտոմատ դասավորությունը նաև նշանակում է, որ դուք կարող եք սահմանել մեկ սյունակի լայնությունը և թույլ տալ, որ եղբայրական սյունակներն ավտոմատ կերպով չափափոխեն դրա շուրջը: Դուք կարող եք օգտագործել նախապես սահմանված ցանցի դասեր (ինչպես ցույց է տրված ստորև), ցանցի խառնուրդներ կամ ներդիր լայնություններ: Նկատի ունեցեք, որ մյուս սյունակների չափերը կփոխվեն՝ անկախ կենտրոնական սյունակի լայնությունից:
Փոփոխական լայնության բովանդակություն
Օգտագործեքcol-{breakpoint}-auto
դասեր՝ սյունակները չափելու համար՝ հիմնվելով դրանց բովանդակության բնական լայնության վրա:
Պատասխանատու դասեր
Bootstrap-ի ցանցը ներառում է նախապես սահմանված դասերի հինգ մակարդակ՝ բարդ արձագանքող դասավորություններ կառուցելու համար: Անհատականացրեք ձեր սյունակների չափերը լրացուցիչ փոքր, փոքր, միջին, մեծ կամ չափազանց մեծ սարքերի վրա, ինչպես որ հարմար եք գտնում:
Բոլոր ընդմիջման կետերը
Ցանցերի համար, որոնք նույնն են՝ ամենափոքր սարքերից մինչև ամենամեծը, օգտագործեք .col
և .col-*
դասերը: Նշեք համարակալված դաս, երբ ձեզ անհրաժեշտ է հատուկ չափի սյունակ; հակառակ դեպքում, ազատ զգալ հավատարիմ մնալ .col
.
Հորիզոնական դրված
Օգտագործելով դասերի մեկ խումբ .col-sm-*
՝ դուք կարող եք ստեղծել հիմնական ցանցային համակարգ, որը սկսում է կուտակված և դառնում հորիզոնական փոքր ընդմիջման կետում ( sm
):
Խառնել և համապատասխանեցնել
Չե՞ք ուզում, որ ձեր սյունակները պարզապես կուտակվեն ցանցի որոշ շերտերում: Անհրաժեշտության դեպքում յուրաքանչյուր մակարդակի համար օգտագործեք տարբեր դասերի համադրություն: Տես ստորև բերված օրինակը՝ ավելի լավ պատկերացնելու համար, թե ինչպես է այդ ամենը աշխատում:
Հեղեղատարներ
Հեղեղատարները կարող են արձագանքող կերպով կարգավորվել բեկման կետին հատուկ լցոնման և բացասական լուսանցքի օգտակար դասերի միջոցով: Տրված շարքում ջրհեղեղները փոխելու համար զուգակցեք բացասական լուսանցքի օգտակար .row
գործիքը և համապատասխանող ներդիրները .col
s-ի վրա: .container
կամ _.container-fluid
ծնողը նույնպես կարգավորվեն՝ անցանկալի արտահոսքից խուսափելու համար՝ կրկին օգտագործելով համապատասխան լցոնման ծրագիրը:
Ահա Bootstrap ցանցի հարմարեցման օրինակ մեծ ( lg
) ընդմիջման կետում և ավելի բարձր: Մենք մեծացրել ենք .col
լիցքը .px-lg-5
, հակադարձել ենք .mx-lg-n5
դրա մայրիկի վրա .row
և այնուհետև հարմարեցրել ենք .container
փաթաթումը .px-lg-5
.
Տողերի սյունակներ
Օգտագործեք արձագանքող .row-cols-*
դասերը՝ արագորեն սահմանելու ձեր բովանդակությունը և դասավորությունը լավագույնս ներկայացնող սյունակների քանակը: Մինչդեռ սովորական .col-*
դասերը կիրառվում են առանձին սյունակների վրա (օրինակ՝ .col-md-4
), տողերի սյունակների դասերը սահմանվում են մայրի վրա։.row
որպես դյուրանցում:
Օգտագործեք այս տողերի սյունակների դասերը՝ արագ ստեղծելու հիմնական ցանցային դասավորությունները կամ վերահսկելու ձեր քարտի դասավորությունները:
Կարող եք նաև օգտագործել ուղեկցող Sass mixin-ը row-cols()
.
Հավասարեցում
Օգտագործեք flexbox հավասարեցման կոմունալ ծառայություններ՝ սյունակները ուղղահայաց և հորիզոնական հավասարեցնելու համար: Internet Explorer 10-11-ը չի աջակցում ճկուն տարրերի ուղղահայաց հավասարեցմանը, երբ ճկուն կոնտեյները ունի, min-height
ինչպես ցույց է տրված ստորև: Լրացուցիչ մանրամասների համար տե՛ս Flexbugs #3:
Ուղղահայաց հավասարեցում
Հորիզոնական հավասարեցում
Առանց ջրհորների
Մեր նախապես սահմանված ցանցային դասերի սյունակների միջև ջրհեղեղները կարող են հեռացվել .no-gutters
. Սա հեռացնում է բացասական margin
s-ը .row
և հորիզոնականը padding
բոլոր անմիջական երեխաների սյունակներից:
Ահա այս ոճերի ստեղծման սկզբնական կոդը: Նկատի ունեցեք, որ սյունակների վերափոխումները ընդգրկված են միայն առաջին երեխաների սյունակներում և ուղղված են հատկանիշի ընտրիչի միջոցով : Թեև սա ստեղծում է ավելի կոնկրետ ընտրիչ, սյունակի լցոնումը դեռևս կարող է հարմարեցվել միջակայքի կոմունալ ծառայությունների միջոցով :
Պե՞տք է եզրից ծայր դիզայն: Թողեք ծնողին .container
կամ .container-fluid
.
Գործնականում ահա թե ինչպես է այն նայում. Նկատի ունեցեք, որ դուք կարող եք շարունակել օգտագործել սա բոլոր մյուս կանխորոշված ցանցային դասերի հետ (ներառյալ սյունակների լայնությունները, արձագանքող մակարդակները, վերադասավորումները և այլն):
Սյունակի փաթաթում
Եթե մեկ տողում տեղադրված են ավելի քան 12 սյունակներ, ապա լրացուցիչ սյունակների յուրաքանչյուր խումբ, որպես մեկ միավոր, կփաթաթվի նոր տողի վրա:
Քանի որ 9 + 4 = 13 > 12, այս 4 սյունակ լայնությամբ բաժանումը փաթաթվում է նոր տողի վրա որպես մեկ հարակից միավոր:
Հաջորդ սյունակները շարունակվում են նոր գծի երկայնքով:
Սյունակի ընդմիջումներ
Flexbox-ում սյունակները նոր տող կտրելու համար պահանջվում է մի փոքր կոտրվածք. ավելացրեք տարր, width: 100%
որտեղ ցանկանում եք փաթաթել ձեր սյունակները նոր տողում: Սովորաբար դա իրականացվում է բազմաթիվ .row
s-ներով, բայց ոչ բոլոր իրականացման մեթոդը կարող է դա բացատրել:
Դուք կարող եք նաև կիրառել այս ընդմիջումը որոշակի ընդմիջման կետերում մեր արձագանքող ցուցադրման կոմունալ ծրագրերի միջոցով :
Վերադասավորում
Պատվիրեք դասեր
Օգտագործեք դասեր ՝ ձեր բովանդակության տեսողական կարգը.order-
վերահսկելու համար : Այս դասերը արձագանքող են, այնպես որ կարող եք սահմանել ըստ ընդմիջման կետը (օրինակ՝ ): Ներառում է ցանցի բոլոր հինգ մակարդակների աջակցում:order
.order-1.order-md-2
1
12
Կան նաև արձագանքող .order-first
և .order-last
դասեր, որոնք փոխում են order
տարրի արժեքը՝ համապատասխանաբար կիրառելով order: -1
և order: 13
( order: $columns + 1
): Այս դասերը կարող են նաև միախառնվել համարակալված .order-*
դասերի հետ՝ ըստ անհրաժեշտության:
Փոխհատուցման սյունակներ
.offset-
Դուք կարող եք փոխհատուցել ցանցի սյունակները երկու եղանակով . Ցանցային դասերը չափվում են սյունակներին համապատասխանելու համար, մինչդեռ լուսանցքներն ավելի օգտակար են արագ դասավորությունների համար, որտեղ օֆսեթի լայնությունը փոփոխական է:
Օֆսեթ դասեր
Տեղափոխեք սյունակները դեպի աջ՝ օգտագործելով .offset-md-*
դասերը: Այս դասերը մեծացնում են սյունակի ձախ լուսանցքն ըստ *
սյունակների: Օրինակ, .offset-md-4
շարժվում .col-md-4
է չորս սյունակով:
Ի հավելումն արձագանքող բեկման կետերում սյունակի մաքրմանը, ձեզ կարող է անհրաժեշտ լինել զրոյացնել օֆսեթները: Տեսեք սա ցանցի օրինակում գործողության մեջ :
Մարգինային կոմունալ ծառայություններ
V4-ում flexbox-ին անցնելու դեպքում դուք կարող եք օգտագործել լուսանցքի կոմունալ ծառայություններ, ինչպիսիք .mr-auto
են՝ ստիպելով քույր-եղբոր սյունակները հեռացնել միմյանցից:
Բնադրում
Ձեր բովանդակությունը լռելյայն ցանցի հետ տեղադրելու համար ավելացրեք նոր .row
և մի շարք .col-sm-*
սյունակներ գոյություն ունեցող .col-sm-*
սյունակում: Ներդրված տողերը պետք է ներառեն մի շարք սյունակներ, որոնք ավելանում են մինչև 12 կամ ավելի քիչ (պարտադիր չէ, որ օգտագործեք բոլոր 12 հասանելի սյունակները):
Sass mixins
Bootstrap-ի սկզբնաղբյուր Sass ֆայլերն օգտագործելիս դուք հնարավորություն ունեք օգտագործելու Sass փոփոխականներ և միքսներ՝ հատուկ, իմաստային և արձագանքող էջի դասավորություններ ստեղծելու համար: Մեր նախապես սահմանված ցանցային դասերը օգտագործում են այս նույն փոփոխականները և միքսները՝ արագ արձագանքող դասավորությունների համար պատրաստի օգտագործման դասերի մի ամբողջ փաթեթ ապահովելու համար:
Փոփոխականներ
Փոփոխականները և քարտեզները որոշում են սյուների քանակը, ջրհորի լայնությունը և մեդիա հարցման կետը, որտեղից սկսելու են լողացող սյունակները: Մենք դրանք օգտագործում ենք վերևում փաստաթղթավորված նախապես սահմանված ցանցային դասերը, ինչպես նաև ստորև թվարկված հատուկ միքսների համար ստեղծելու համար:
Միքսիններ
Միքսներն օգտագործվում են ցանցի փոփոխականների հետ համատեղ՝ առանձին ցանցի սյունակների համար իմաստային CSS ստեղծելու համար:
Օգտագործման օրինակ
Դուք կարող եք փոփոխել փոփոխականները ձեր սեփական արժեքներով, կամ պարզապես օգտագործել միքսներն իրենց լռելյայն արժեքներով: Ահա լռելյայն կարգավորումների օգտագործման օրինակ՝ երկու սյունակի դասավորություն ստեղծելու համար՝ միջև բացը:
Ցանցի հարմարեցում
Օգտագործելով մեր ներկառուցված grid Sass փոփոխականները և քարտեզները, հնարավոր է ամբողջությամբ հարմարեցնել նախապես սահմանված ցանցի դասերը: Փոխեք շերտերի քանակը, մեդիա հարցման չափերը և բեռնարկղերի լայնությունը, այնուհետև նորից կազմեք:
Սյուներ և ջրհեղեղներ
Ցանցային սյունակների թիվը կարող է փոփոխվել Sass փոփոխականների միջոցով: $grid-columns
օգտագործվում է յուրաքանչյուր առանձին սյունակի լայնությունները (տոկոսներով) գեներացնելու համար, մինչդեռ $grid-gutter-width
սահմանում է սյունակի ջրհորների լայնությունը:
Ցանցային շերտեր
Շարժվելով հենց սյունակներից այն կողմ՝ կարող եք նաև հարմարեցնել ցանցի մակարդակների քանակը: Եթե ցանկանում եք ընդամենը չորս ցանցային մակարդակ, ապա կթարմացնեք $grid-breakpoints
և $container-max-widths
-ը հետևյալ կերպ.
Sass փոփոխականներում կամ քարտեզներում որևէ փոփոխություն կատարելիս պետք է պահպանեք ձեր փոփոխությունները և նորից կազմեք: Դրանով կստեղծվի նախապես սահմանված ցանցի դասերի միանգամայն նոր շարք սյունակների լայնության, շրջադարձերի և պատվերի համար: Արձագանքող տեսանելիության կոմունալ ծառայությունները նույնպես կթարմացվեն՝ հարմարեցված ընդմիջման կետերն օգտագործելու համար: Համոզվեք, որ տեղադրել եք ցանցի արժեքները px
(ոչ rem
, em
, կամ %
):