Pangkalahatang-ideya
Mga bahagi at opsyon para sa paglalagay ng iyong proyekto sa Bootstrap, kabilang ang mga wrapping container, isang malakas na grid system, isang flexible na object ng media, at mga tumutugon na utility class.
Mga lalagyan
Ang mga lalagyan ay ang pinakapangunahing elemento ng layout sa Bootstrap at kinakailangan kapag ginagamit ang aming default na grid system . Ang mga lalagyan ay ginagamit upang maglaman, maglagay ng pad, at (kung minsan) isentro ang nilalaman sa loob ng mga ito. Bagama't maaaring ma-nest ang mga container, karamihan sa mga layout ay hindi nangangailangan ng nested container.
Ang Bootstrap ay may tatlong magkakaibang lalagyan:
.container
, na nagtatakda ngmax-width
sa bawat tumutugon na breakpoint.container-fluid
, nawidth: 100%
nasa lahat ng breakpoints.container-{breakpoint}
, nawidth: 100%
hanggang sa tinukoy na breakpoint
Ang talahanayan sa ibaba ay naglalarawan kung paano inihahambing ang bawat lalagyan max-width
sa orihinal .container
at sa .container-fluid
bawat breakpoint.
Tingnan ang mga ito sa pagkilos at ihambing ang mga ito sa aming halimbawa ng Grid .
Napakaliit < 576px |
Maliit ≥576px |
Katamtaman ≥768px |
Malaki ≥992px |
Sobrang laki ≥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% |
Lahat sa isa
Ang aming default .container
na klase ay isang tumutugon, fixed-width na lalagyan, ibig sabihin ang mga max-width
pagbabago nito sa bawat breakpoint.
<div class="container">
<!-- Content here -->
</div>
Fluid
Gamitin .container-fluid
para sa isang buong lapad na lalagyan, na sumasaklaw sa buong lapad ng viewport.
<div class="container-fluid">
...
</div>
Tumutugon
Ang mga tumutugong container ay bago sa Bootstrap v4.4. Nagbibigay-daan sa iyo ang mga ito na tumukoy ng klase na 100% ang lapad hanggang sa maabot ang tinukoy na breakpoint, pagkatapos nito ay naglalapat kami max-width
ng s para sa bawat isa sa mas matataas na breakpoint. Halimbawa, .container-sm
100% ba ang lapad upang magsimula hanggang sa sm
maabot ang breakpoint, kung saan lalago ito ng md
, lg
, at 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>
Mga tumutugon na breakpoint
Dahil ang Bootstrap ay binuo upang maging mobile muna, gumagamit kami ng ilang mga query sa media upang lumikha ng mga makabuluhang breakpoint para sa aming mga layout at interface. Ang mga breakpoint na ito ay kadalasang nakabatay sa mga minimum na lapad ng viewport at nagbibigay-daan sa amin na palakihin ang mga elemento habang nagbabago ang viewport.
Pangunahing ginagamit ng Bootstrap ang mga sumusunod na hanay ng query ng media—o mga breakpoint—sa aming source na Sass file para sa aming layout, grid system, at mga bahagi.
// 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) { ... }
Dahil isinusulat namin ang aming source CSS sa Sass, available ang lahat ng aming mga query sa media sa pamamagitan ng Sass mixin:
// 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;
}
}
Paminsan-minsan, gumagamit kami ng mga query sa media na papunta sa kabilang direksyon (ang ibinigay na laki ng screen o mas maliit ):
// 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-
at mga max-
prefix at viewport na may mga fractional na lapad (na maaaring mangyari sa ilalim ng ilang partikular na kundisyon sa mga high-dpi na device, halimbawa) sa pamamagitan ng paggamit ng mga value na may mas mataas na katumpakan para sa mga paghahambing na ito .
Muli, available din ang mga query sa media na ito sa pamamagitan ng 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;
}
}
Mayroon ding mga media query at mixin para sa pag-target ng isang segment ng mga laki ng screen gamit ang minimum at maximum na lapad ng breakpoint.
// 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) { ... }
Available din ang mga query sa media na ito sa pamamagitan ng Sass mixin:
@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) { ... }
Katulad nito, ang mga query sa media ay maaaring sumasaklaw sa maraming lapad ng breakpoint:
// Example
// Apply styles starting from medium devices and up to extra large devices
@media (min-width: 768px) and (max-width: 1199.98px) { ... }
Ang Sass mixin para sa pag-target sa parehong hanay ng laki ng screen ay magiging:
@include media-breakpoint-between(md, xl) { ... }
Z-index
Ginagamit ng ilang bahagi ng Bootstrap z-index
ang , ang CSS property na tumutulong sa pagkontrol ng layout sa pamamagitan ng pagbibigay ng ikatlong axis upang ayusin ang nilalaman. Gumagamit kami ng default na z-index scale sa Bootstrap na idinisenyo upang maayos na i-layer ang navigation, tooltips at popover, modals, at higit pa.
Ang mas matataas na halagang ito ay nagsisimula sa isang di-makatwirang numero, mataas at sapat na partikular upang perpektong maiwasan ang mga salungatan. Kailangan namin ng karaniwang hanay ng mga ito sa aming mga layered na bahagi—mga tooltip, popover, navbar, dropdown, modals—upang makatuwirang maging pare-pareho tayo sa mga gawi. Walang dahilan kung bakit hindi namin ginamit ang 100
+ o 500
+.
Hindi namin hinihikayat ang pag-customize ng mga indibidwal na halagang ito; kung magpalit ka ng isa, malamang na kailangan mong baguhin ang lahat.
$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;
Upang pangasiwaan ang mga magkakapatong na hangganan sa loob ng mga bahagi (hal., mga button at input sa mga pangkat ng input), gumagamit kami ng mababang solong digit z-index
na halaga ng 1
, 2
, at 3
para sa default, hover, at mga aktibong estado. Sa hover/focus/active, dinadala namin ang isang partikular na elemento sa unahan na may mas mataas z-index
na halaga upang ipakita ang kanilang hangganan sa mga elemento ng magkakapatid.