Source

Ընդհանուր ակնարկ

Բաղադրիչներ և տարբերակներ՝ ձեր Bootstrap նախագիծը տեղադրելու համար, ներառյալ բեռնարկղերի փաթեթավորումը, հզոր ցանցային համակարգ, ճկուն մեդիա օբյեկտ և արձագանքող օգտակար դասեր:

Տարաներ

Կոնտեյներները Bootstrap-ում դասավորության ամենահիմնական տարրն են և պահանջվում են մեր լռելյայն ցանցային համակարգը օգտագործելիս : Բեռնարկղերը օգտագործվում են պարունակությունը պարունակելու, լցնելու և (երբեմն) կենտրոնացնելու համար: Թեև բեռնարկղերը կարող են լինել բնադրված, դասավորությունների մեծ մասը չի պահանջում ներդիր կոնտեյներ:

Bootstrap-ը գալիս է երեք տարբեր տարաներով.

  • .container, որը սահմանում է a max-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-widths բարձրագույն ընդմիջման կետերից յուրաքանչյուրի համար: Օրինակ, .container-sm100% լայնություն է՝ սկսելու համար մինչև 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ցույց տալու իրենց սահմանները եղբայրական տարրերի վրա: