Spacing
Kasama sa Bootstrap ang isang malawak na hanay ng mga shorthand responsive margin, padding, at gap utility classes upang baguhin ang hitsura ng isang elemento.
Margin at padding
Magtalaga ng tumutugon-friendly margin
o padding
mga halaga sa isang elemento o isang subset ng mga panig nito na may mga klase ng shorthand. May kasamang suporta para sa mga indibidwal na property, lahat ng property, at vertical at horizontal property. Ang mga klase ay binuo mula sa isang default na mapa ng Sass mula .25rem
sa hanggang 3rem
.
Gamit ang CSS Grid layout module? Isaalang-alang ang paggamit ng gap utility .
Notasyon
Ang mga spacing utilities na nalalapat sa lahat ng breakpoint, mula xs
hanggang xxl
, ay walang pagdadaglat ng breakpoint sa mga ito. Ito ay dahil ang mga klase na iyon ay inilapat mula min-width: 0
at pataas, at sa gayon ay hindi nakatali sa isang query sa media. Ang natitirang mga breakpoint, gayunpaman, ay may kasamang breakpoint abbreviation.
Ang mga klase ay pinangalanan gamit ang format {property}{sides}-{size}
para sa xs
at {property}{sides}-{breakpoint}-{size}
para sa sm
, md
, lg
, xl
, at xxl
.
Kung saan ang ari- arian ay isa sa:
m
- para sa mga klase na itinakdamargin
p
- para sa mga klase na itinakdapadding
Kung saan ang mga gilid ay isa sa:
t
- para sa mga klase na nagtatakdamargin-top
opadding-top
b
- para sa mga klase na nagtatakdamargin-bottom
opadding-bottom
s
- (simula) para sa mga klase na nakatakdamargin-left
opadding-left
sa LTR,margin-right
opadding-right
sa RTLe
- (katapusan) para sa mga klase na nakatakdamargin-right
opadding-right
sa LTR,margin-left
opadding-left
sa RTLx
- para sa mga klase na nagtatakda ng pareho*-left
at*-right
y
- para sa mga klase na nagtatakda ng pareho*-top
at*-bottom
- blangko - para sa mga klase na nagtatakda ng
margin
opadding
sa lahat ng 4 na panig ng elemento
Kung saan ang laki ay isa sa:
0
- para sa mga klase na nag-aalis ngmargin
opadding
sa pamamagitan ng pagtatakda nito sa0
1
- (bilang default) para sa mga klase na nagtatakda ngmargin
opadding
sa$spacer * .25
2
- (bilang default) para sa mga klase na nagtatakda ngmargin
opadding
sa$spacer * .5
3
- (bilang default) para sa mga klase na nagtatakda ngmargin
opadding
sa$spacer
4
- (bilang default) para sa mga klase na nagtatakda ngmargin
opadding
sa$spacer * 1.5
5
- (bilang default) para sa mga klase na nagtatakda ngmargin
opadding
sa$spacer * 3
auto
- para sa mga klase na itinakda angmargin
sa auto
(Maaari kang magdagdag ng higit pang laki sa pamamagitan ng pagdaragdag ng mga entry sa $spacers
Sass map variable.)
Mga halimbawa
Narito ang ilang kinatawan ng mga halimbawa ng mga klase na ito:
.mt-0 {
margin-top: 0 !important;
}
.ms-1 {
margin-left: ($spacer * .25) !important;
}
.px-2 {
padding-left: ($spacer * .5) !important;
padding-right: ($spacer * .5) !important;
}
.p-3 {
padding: $spacer !important;
}
Pahalang na pagsentro
Bilang karagdagan, ang Bootstrap ay nagsasama rin ng isang .mx-auto
klase para sa pahalang na pagsentro ng nakapirming lapad na antas ng block na nilalaman—iyon ay, nilalamang mayroon display: block
at isang width
set—sa pamamagitan ng pagtatakda ng mga pahalang na margin sa auto
.
<div class="mx-auto" style="width: 200px;">
Centered element
</div>
Negatibong margin
Sa CSS, margin
ang mga katangian ay maaaring gumamit ng mga negatibong halaga ( padding
hindi maaaring). Ang mga negatibong margin na ito ay hindi pinagana bilang default , ngunit maaaring paganahin sa Sass sa pamamagitan ng pagtatakda $enable-negative-margins: true
.
Ang syntax ay halos kapareho ng default, positibong margin utility, ngunit may pagdaragdag ng n
bago ang hiniling na laki. Narito ang isang halimbawang klase na kabaligtaran ng .mt-1
:
.mt-n1 {
margin-top: -0.25rem !important;
}
Gap
Kapag gumagamit display: grid
ng , maaari mong gamitin ang mga gap
utility sa lalagyan ng parent grid. Makakatipid ito sa pagdaragdag ng mga margin utility sa mga indibidwal na grid item (mga anak ng isang display: grid
lalagyan). Ang mga utility ng gap ay tumutugon bilang default, at nabuo sa pamamagitan ng aming API ng mga utility, batay sa $spacers
mapa ng Sass.
<div class="d-grid gap-3">
<div class="p-2 bg-light border">Grid item 1</div>
<div class="p-2 bg-light border">Grid item 2</div>
<div class="p-2 bg-light border">Grid item 3</div>
</div>
Kasama sa suporta ang mga opsyong tumutugon para sa lahat ng mga breakpoint ng grid ng Bootstrap, pati na rin ang anim na laki mula sa $spacers
mapa ( 0
– 5
). Walang .gap-auto
klase ng utility dahil epektibo itong pareho sa .gap-0
.
Sass
Mga mapa
Idineklara ang mga spacing utilities sa pamamagitan ng Sass map at pagkatapos ay binuo gamit ang aming mga utility API.
$spacer: 1rem;
$spacers: (
0: 0,
1: $spacer * .25,
2: $spacer * .5,
3: $spacer,
4: $spacer * 1.5,
5: $spacer * 3,
);
$negative-spacers: if($enable-negative-margins, negativify-map($spacers), null);
Utilities API
Ang mga spacing utilities ay ipinahayag sa aming mga utility API sa scss/_utilities.scss
. Matutunan kung paano gamitin ang utility API.
"margin": (
responsive: true,
property: margin,
class: m,
values: map-merge($spacers, (auto: auto))
),
"margin-x": (
responsive: true,
property: margin-right margin-left,
class: mx,
values: map-merge($spacers, (auto: auto))
),
"margin-y": (
responsive: true,
property: margin-top margin-bottom,
class: my,
values: map-merge($spacers, (auto: auto))
),
"margin-top": (
responsive: true,
property: margin-top,
class: mt,
values: map-merge($spacers, (auto: auto))
),
"margin-end": (
responsive: true,
property: margin-right,
class: me,
values: map-merge($spacers, (auto: auto))
),
"margin-bottom": (
responsive: true,
property: margin-bottom,
class: mb,
values: map-merge($spacers, (auto: auto))
),
"margin-start": (
responsive: true,
property: margin-left,
class: ms,
values: map-merge($spacers, (auto: auto))
),
// Negative margin utilities
"negative-margin": (
responsive: true,
property: margin,
class: m,
values: $negative-spacers
),
"negative-margin-x": (
responsive: true,
property: margin-right margin-left,
class: mx,
values: $negative-spacers
),
"negative-margin-y": (
responsive: true,
property: margin-top margin-bottom,
class: my,
values: $negative-spacers
),
"negative-margin-top": (
responsive: true,
property: margin-top,
class: mt,
values: $negative-spacers
),
"negative-margin-end": (
responsive: true,
property: margin-right,
class: me,
values: $negative-spacers
),
"negative-margin-bottom": (
responsive: true,
property: margin-bottom,
class: mb,
values: $negative-spacers
),
"negative-margin-start": (
responsive: true,
property: margin-left,
class: ms,
values: $negative-spacers
),
// Padding utilities
"padding": (
responsive: true,
property: padding,
class: p,
values: $spacers
),
"padding-x": (
responsive: true,
property: padding-right padding-left,
class: px,
values: $spacers
),
"padding-y": (
responsive: true,
property: padding-top padding-bottom,
class: py,
values: $spacers
),
"padding-top": (
responsive: true,
property: padding-top,
class: pt,
values: $spacers
),
"padding-end": (
responsive: true,
property: padding-right,
class: pe,
values: $spacers
),
"padding-bottom": (
responsive: true,
property: padding-bottom,
class: pb,
values: $spacers
),
"padding-start": (
responsive: true,
property: padding-left,
class: ps,
values: $spacers
),