in English

Apžvalga

„Bootstrap“ projekto išdėstymo komponentai ir parinktys, įskaitant pakavimo konteinerius, galingą tinklelio sistemą, lanksčią medijos objektą ir reaguojančias paslaugų klases.

Konteineriai

Sudėtiniai rodiniai yra pagrindinis „Bootstrap“ išdėstymo elementas ir būtini naudojant numatytąją tinklelio sistemą . Konteineriai naudojami turiniui juose laikyti, paduoti ir (kartais) centruoti. Nors sudėtinius rodinius galima įdėti, daugeliui maketų nereikia įdėti įdėto sudėtinio rodinio.

„Bootstrap“ yra su trimis skirtingais konteineriais:

  • .containermax-width, kuris kiekviename reaguojančiame taške nustato a
  • .container-fluid, kuris yra width: 100%visuose lūžio taškuose
  • .container-{breakpoint}, kuri yra width: 100%iki nurodytos pertraukos taško

Toliau pateiktoje lentelėje parodyta, kaip kiekvienas sudėtinis rodinys max-widthlyginamas su originalu .containerir .container-fluidkiekvienu pertraukos tašku.

Pamatykite juos veikiant ir palyginkite juos mūsų tinklelio pavyzdyje .

Itin mažas
<576px
Mažas
≥ 576 piks
Vidutinis
≥ 768 piks
Didelis
≥ 992 piks
Ypač didelis
≥ 1200 pikselių
.container 100 % 540 pikselių 720 taškų 960 taškų 1140 taškų
.container-sm 100 % 540 pikselių 720 taškų 960 taškų 1140 taškų
.container-md 100 % 100 % 720 taškų 960 taškų 1140 taškų
.container-lg 100 % 100 % 100 % 960 taškų 1140 taškų
.container-xl 100 % 100 % 100 % 100 % 1140 taškų
.container-fluid 100 % 100 % 100 % 100 % 100 %

Viskas viename

Mūsų numatytoji .containerklasė yra interaktyvus, fiksuoto pločio konteineris, o tai reiškia, kad jis max-widthkeičiasi kiekviename pertraukos taške.

<div class="container">
  <!-- Content here -->
</div>

Skystis

Naudokite .container-fluidviso pločio konteineriui, apimančiam visą peržiūros srities plotį.

<div class="container-fluid">
  ...
</div>

Atsakingas

Interaktyvūs konteineriai yra nauji Bootstrap v4.4 versijoje. Jie leidžia nurodyti 100% pločio klasę, kol pasiekiamas nurodytas lūžio taškas, po kurio mes taikome max-widths kiekvienam aukštesniam taškui. Pavyzdžiui, .container-smyra 100 % pločio, kad prasidėtų, kol smbus pasiektas lūžio taškas, kur jis padidės naudojant md, lg, ir 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>

Reaguojantys lūžio taškai

Kadangi „Bootstrap“ pirmiausia sukurta mobiliesiems, naudojame keletą medijos užklausų , kad sukurtume protingus išdėstymo ir sąsajų lūžio taškus. Šios pertraukos taškai dažniausiai pagrįsti minimaliu peržiūros srities pločiu ir leidžia mums padidinti elementų mastelį, kai keičiasi peržiūros sritis.

„Bootstrap“ pirmiausia naudoja šiuos medijos užklausų diapazonus arba lūžio taškus mūsų šaltinio „Sass“ failuose išdėstymui, tinklelio sistemai ir komponentams.

// 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) { ... }

Kadangi šaltinio CSS rašome Sass, visos mūsų medijos užklausos pasiekiamos per Sass rinkinius:

// 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;
  }
}

Retkarčiais naudojame medijos užklausas, kurios nukreipiamos kita kryptimi (nurodytas ekrano dydis arba mažesnis ):

// 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

Atminkite, kad šiuo metu naršyklės nepalaiko diapazono konteksto užklausų , todėl apeiname trupmeninio pločio priešdėlius min-irmax- peržiūros sritis (kurie gali atsirasti tam tikromis sąlygomis, pavyzdžiui, didelės dpi įrenginiuose), naudodami tikslesnes vertes šiems palyginimams. .

Vėlgi, šios medijos užklausos taip pat pasiekiamos per 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;
  }
}

Taip pat yra medijos užklausų ir mišinių, skirtų taikyti vienam ekrano dydžių segmentui naudojant mažiausią ir didžiausią pertraukos taškų plotį.

// 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) { ... }

Šios medijos užklausos taip pat pasiekiamos per 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) { ... }

Panašiai medijos užklausos gali apimti kelis pertraukos taškų plotius:

// Example
// Apply styles starting from medium devices and up to extra large devices
@media (min-width: 768px) and (max-width: 1199.98px) { ... }

„Sass“ derinys, skirtas taikyti tam pačiam ekrano dydžio diapazonui, būtų:

@include media-breakpoint-between(md, xl) { ... }

Z indeksas

Keli „Bootstrap“ komponentai naudoja z-indexCSS ypatybę, kuri padeda valdyti išdėstymą, suteikiant trečiąją ašį turiniui tvarkyti. „Bootstrap“ naudojame numatytąją „z-index“ skalę, kuri buvo sukurta taip, kad būtų tinkamai išdėstyta naršymo, patarimų ir iššokančių langų, modalų ir kt.

Šios didesnės reikšmės prasideda nuo savavališko skaičiaus, didelio ir pakankamai specifinio, kad būtų išvengta konfliktų. Mums reikia standartinio jų rinkinio mūsų sluoksniuotuose komponentuose – įrankių patarimuose, iššokančiuose langeliuose, naršymo juostose, išskleidžiamuosiuose sąrašuose, modaluose – kad galėtume elgtis pakankamai nuosekliai. Nėra jokios priežasties, kodėl negalėjome naudoti 100+ arba 500+.

Mes neskatiname pritaikyti šių individualių vertybių; Jei pakeisite vieną, greičiausiai turėsite pakeisti juos visus.

$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;

Norėdami tvarkyti sutampančius komponentų kraštus (pvz., mygtukus ir įvesties įvesties grupėse), naudojame mažas vieno skaitmens z-indexvertes 1, 2, o 3numatytosioms, užvedimo ir aktyvioms būsenoms. Užvedus pelės žymeklį / fokusuojant / aktyvų, konkretų elementą iškeliame į priekį su didesne z-indexverte, kad būtų rodoma jo riba virš dviejų elementų.