Ընդհանուր ակնարկ
Բաղադրիչներ և տարբերակներ՝ ձեր «Bootstrap» նախագիծը տեղադրելու համար, ներառյալ բեռնարկղերի փաթեթավորումը, հզոր ցանցային համակարգ, ճկուն մեդիա օբյեկտ և արձագանքող օգտակար դասեր:
Տարաներ
Կոնտեյներները Bootstrap-ում դասավորության ամենահիմնական տարրն են և պահանջվում են մեր լռելյայն ցանցային համակարգը օգտագործելիս : Բեռնարկղերը օգտագործվում են պարունակությունը պարունակելու, պահելու և (երբեմն) կենտրոնացնելու համար: Թեև բեռնարկղերը կարող են լինել բնադրված, դասավորությունների մեծ մասը չի պահանջում ներդիր կոնտեյներ:
Bootstrap-ը գալիս է երեք տարբեր տարաներով.
.container
, որը սահմանում է amax-width
յուրաքանչյուր արձագանքող բեկման կետում.container-fluid
, որը գտնվումwidth: 100%
է բոլոր ընդմիջման կետերում.container-{breakpoint}
, որըwidth: 100%
մինչև նշված ընդմիջման կետը
Ստորև բերված աղյուսակը ցույց է տալիս, թե ինչպես է յուրաքանչյուր բեռնարկղը max-width
համեմատվում բնօրինակի հետ .container
և .container-fluid
յուրաքանչյուր բեկման կետում:
Տեսեք դրանք գործողության մեջ և համեմատեք դրանք մեր Grid օրինակում :
Շատ փոքր <576px |
Փոքր ≥576px |
Միջին ≥768px |
Մեծ ≥992px |
Չափազանց մեծ ≥1200px |
|
---|---|---|---|---|---|
.container |
100% | 540px | 720px | 960px | 1140px |
.container-sm |
100% | 540px | 720px | 960px | 1140px |
.container-md |
100% | 100% | 720px | 960px | 1140px |
.container-lg |
100% | 100% | 100% | 960px | 1140px |
.container-xl |
100% | 100% | 100% | 100% | 1140px |
.container-fluid |
100% | 100% | 100% | 100% | 100% |
Բոլորը մեկում
Մեր լռելյայն .container
դասը արձագանքող, ֆիքսված լայնությամբ կոնտեյներ է, ինչը նշանակում է, որ դրա max-width
փոփոխությունները յուրաքանչյուր ընդմիջման կետում:
<div class="container">
<!-- Content here -->
</div>
Հեղուկ
Օգտագործեք .container-fluid
ամբողջ լայնությամբ կոնտեյների համար՝ ընդգրկելով տեսադաշտի ամբողջ լայնությունը:
<div class="container-fluid">
...
</div>
Պատասխանատու
Պատասխանատու բեռնարկղերը նոր են Bootstrap v4.4-ում: Նրանք թույլ են տալիս նշել դաս, որը 100% լայնություն ունի մինչև նշված բեկման կետին հասնելը, որից հետո մենք կիրառում ենք max-width
s ավելի բարձր բեկման կետերից յուրաքանչյուրի համար: Օրինակ, .container-sm
100% լայնություն է՝ սկսելու համար մինչև sm
բեկման կետին հասնելը, որտեղ այն կմեծանա md
, lg
և xl
.
<div class="container-sm">100% wide until small breakpoint</div>
<div class="container-md">100% wide until medium breakpoint</div>
<div class="container-lg">100% wide until large breakpoint</div>
<div class="container-xl">100% wide until extra large breakpoint</div>
Պատասխանատու ընդմիջման կետեր
Քանի որ Bootstrap-ը մշակվել է առաջին հերթին բջջային լինելու համար, մենք օգտագործում ենք մի քանի մեդիա հարցումներ ՝ մեր դասավորությունների և ինտերֆեյսների համար խելամիտ բեկման կետեր ստեղծելու համար: Այս ընդմիջման կետերը հիմնականում հիմնված են տեսադաշտի նվազագույն լայնությունների վրա և թույլ են տալիս մեծացնել տարրերը, երբ տեսադաշտը փոխվում է:
Bootstrap-ը հիմնականում օգտագործում է հետևյալ մեդիա հարցումների միջակայքերը կամ ընդմիջման կետերը մեր աղբյուրի Sass ֆայլերում մեր դասավորության, ցանցային համակարգի և բաղադրիչների համար:
// Extra small devices (portrait phones, less than 576px)
// No media query for `xs` since this is the default in Bootstrap
// Small devices (landscape phones, 576px and up)
@media (min-width: 576px) { ... }
// Medium devices (tablets, 768px and up)
@media (min-width: 768px) { ... }
// Large devices (desktops, 992px and up)
@media (min-width: 992px) { ... }
// Extra large devices (large desktops, 1200px and up)
@media (min-width: 1200px) { ... }
Քանի որ մենք գրում ենք մեր աղբյուրի CSS-ը Sass-ում, մեր բոլոր մեդիա հարցումները հասանելի են Sass խառնուրդների միջոցով.
// No media query necessary for xs breakpoint as it's effectively `@media (min-width: 0) { ... }`
@include media-breakpoint-up(sm) { ... }
@include media-breakpoint-up(md) { ... }
@include media-breakpoint-up(lg) { ... }
@include media-breakpoint-up(xl) { ... }
// Example: Hide starting at `min-width: 0`, and then show at the `sm` breakpoint
.custom-class {
display: none;
}
@include media-breakpoint-up(sm) {
.custom-class {
display: block;
}
}
Մենք երբեմն օգտագործում ենք լրատվամիջոցների հարցումներ, որոնք գնում են այլ ուղղությամբ (տվյալ էկրանի չափը կամ ավելի փոքր ).
// Extra small devices (portrait phones, less than 576px)
@media (max-width: 575.98px) { ... }
// Small devices (landscape phones, less than 768px)
@media (max-width: 767.98px) { ... }
// Medium devices (tablets, less than 992px)
@media (max-width: 991.98px) { ... }
// Large devices (desktops, less than 1200px)
@media (max-width: 1199.98px) { ... }
// Extra large devices (large desktops)
// No media query since the extra-large breakpoint has no upper bound on its width
min-
և max-
նախածանցների և տեսադաշտերի շուրջ (որոնք կարող են առաջանալ որոշակի պայմաններում, օրինակ, բարձր dpi սարքերում)՝ օգտագործելով այս համեմատությունների համար ավելի բարձր ճշգրտությամբ արժեքներ: .
Կրկին, այս լրատվամիջոցների հարցումները հասանելի են նաև Sass mixins-ի միջոցով.
@include media-breakpoint-down(xs) { ... }
@include media-breakpoint-down(sm) { ... }
@include media-breakpoint-down(md) { ... }
@include media-breakpoint-down(lg) { ... }
// No media query necessary for xl breakpoint as it has no upper bound on its width
// Example: Style from medium breakpoint and down
@include media-breakpoint-down(md) {
.custom-class {
display: block;
}
}
Կան նաև մեդիա հարցումներ և միքսներ՝ էկրանի չափսերի մեկ հատված թիրախավորելու համար՝ օգտագործելով բեկման կետերի նվազագույն և առավելագույն լայնությունները:
// Extra small devices (portrait phones, less than 576px)
@media (max-width: 575.98px) { ... }
// Small devices (landscape phones, 576px and up)
@media (min-width: 576px) and (max-width: 767.98px) { ... }
// Medium devices (tablets, 768px and up)
@media (min-width: 768px) and (max-width: 991.98px) { ... }
// Large devices (desktops, 992px and up)
@media (min-width: 992px) and (max-width: 1199.98px) { ... }
// Extra large devices (large desktops, 1200px and up)
@media (min-width: 1200px) { ... }
Այս մեդիա հարցումները հասանելի են նաև Sass mixins-ի միջոցով.
@include media-breakpoint-only(xs) { ... }
@include media-breakpoint-only(sm) { ... }
@include media-breakpoint-only(md) { ... }
@include media-breakpoint-only(lg) { ... }
@include media-breakpoint-only(xl) { ... }
Նմանապես, լրատվամիջոցների հարցումները կարող են ընդգրկել մի քանի բեկման կետերի լայնություններ.
// Example
// Apply styles starting from medium devices and up to extra large devices
@media (min-width: 768px) and (max-width: 1199.98px) { ... }
Նույն էկրանի չափի տիրույթը թիրախավորելու Sass խառնուրդը կլինի.
@include media-breakpoint-between(md, xl) { ... }
Z-ինդեքս
Bootstrap-ի մի քանի բաղադրիչներ օգտագործում z-index
են CSS հատկությունը, որն օգնում է վերահսկել դասավորությունը՝ ապահովելով երրորդ առանցք՝ բովանդակությունը դասավորելու համար: Մենք օգտագործում ենք լռելյայն z-ինդեքսի սանդղակը Bootstrap-ում, որը նախագծված է պատշաճ կերպով շերտավորելու նավիգացիան, գործիքների հուշումներն ու պոպովերները, մոդալները և այլն:
Այս ավելի բարձր արժեքները սկսվում են կամայական թվից, բավականաչափ բարձր և կոնկրետ, որպեսզի իդեալականորեն խուսափեն կոնֆլիկտներից: Մեզ անհրաժեշտ է դրանց ստանդարտ հավաքածու մեր շերտավորված բաղադրիչների համար՝ գործիքների հուշումներ, փոփփերներ, նավագոտիներ, բացվող ցանկեր, մոդալներ, որպեսզի մենք կարողանանք ողջամտորեն հետևողական լինել վարքագծերում: Ոչ մի պատճառ չկա, որ մենք չենք կարող օգտագործել 100
+ կամ 500
+:
Մենք չենք խրախուսում այս անհատական արժեքների հարմարեցումը. եթե փոխեք մեկը, հավանաբար պետք է փոխեք բոլորը:
$zindex-dropdown: 1000 !default;
$zindex-sticky: 1020 !default;
$zindex-fixed: 1030 !default;
$zindex-modal-backdrop: 1040 !default;
$zindex-modal: 1050 !default;
$zindex-popover: 1060 !default;
$zindex-tooltip: 1070 !default;
Բաղադրիչների մեջ համընկնող եզրագծերը կարգավորելու համար (օրինակ՝ կոճակներ և մուտքագրումներ մուտքային խմբերում), մենք օգտագործում ենք , -ի ցածր միանիշ z-index
արժեքներ 1
, 2
իսկ 3
լռելյայն, սավառնող և ակտիվ վիճակների համար: Սավառնել/ֆոկուս/ակտիվ ժամանակ մենք ավելի բարձր արժեք ունեցող որոշակի տարր ենք առաջին պլան մղում՝ z-index
ցույց տալու իրենց սահմանները եղբայրական տարրերի վրա: