Utility API
API yothandiza ndi chida cha Sass chopangira makalasi othandizira.
Zida za Bootstrap zimapangidwa ndi API yathu yogwiritsira ntchito ndipo zitha kugwiritsidwa ntchito kusintha kapena kukulitsa makalasi athu okhazikika kudzera pa Sass. API yathu yogwiritsira ntchito idakhazikitsidwa pamapu angapo a Sass ndi ntchito zopangira mabanja amkalasi ndi zosankha zosiyanasiyana. Ngati simukudziŵa mamapu a Sass, werengani pamakalata ovomerezeka a Sass kuti muyambe.
Mapuwa $utilities
ali ndi zofunikira zathu zonse ndipo pambuyo pake amaphatikizidwa ndi $utilities
mapu anu, ngati alipo. Mapu ogwiritsira ntchito ali ndi mndandanda wamagulu omwe amavomereza zotsatirazi:
Njira | Mtundu | Mtengo wofikira | Kufotokozera |
---|---|---|---|
property |
Chofunikira | - | Dzina la malo, ichi chikhoza kukhala chingwe kapena mndandanda wa zingwe (mwachitsanzo, zopingasa zopingasa kapena m'mphepete). |
values |
Chofunikira | - | Mndandanda wamakhalidwe, kapena mapu ngati simukufuna kuti dzina la kalasi lifanane ndi mtengo wake. Ngati null agwiritsidwa ntchito ngati makiyi a mapu, class samakonzedweratu ku dzina la kalasi. |
class |
Zosankha | null | Dzina la kalasi yopangidwa. Ngati sichinaperekedwe ndipo property ili ndi zingwe zambiri, class idzasintha kukhala gawo loyamba la property gululo. Ngati sichinaperekedwe ndipo property ndi chingwe, values makiyi amagwiritsidwa ntchito pa class mayina. |
css-var |
Zosankha | false |
Boolean kupanga zosintha za CSS m'malo mwa malamulo a CSS. |
css-variable-name |
Zosankha | null | Dzina losasinthika la CSS losinthika mkati mwa ruleset. |
local-vars |
Zosankha | null | Mapu amitundu yosiyanasiyana ya CSS kuti apange kuwonjezera pa malamulo a CSS. |
state |
Zosankha | null | Mndandanda wamitundu yabodza (monga, :hover kapena :focus ) yopanga. |
responsive |
Zosankha | false |
Boolean kusonyeza ngati makalasi omvera ayenera kupangidwa. |
rfs |
Zosankha | false |
Boolean kuti muthe kuyambiranso kwamadzi ndi RFS . |
print |
Zosankha | false |
Boolean ikuwonetsa ngati makalasi osindikizira akufunika kupangidwa. |
rtl |
Zosankha | true |
Boolean ikuwonetsa ngati zofunikira ziyenera kusungidwa mu RTL. |
API anafotokoza
Zosintha zonse zothandizira zimawonjezedwa $utilities
pazosintha mkati mwa _utilities.scss
stylesheet yathu. Gulu lirilonse la zothandizira limawoneka motere:
$utilities: (
"opacity": (
property: opacity,
values: (
0: 0,
25: .25,
50: .5,
75: .75,
100: 1,
)
)
);
Zomwe zimatulutsa zotsatirazi:
.opacity-0 { opacity: 0; }
.opacity-25 { opacity: .25; }
.opacity-50 { opacity: .5; }
.opacity-75 { opacity: .75; }
.opacity-100 { opacity: 1; }
Katundu
Kiyi yofunikira property
iyenera kukhazikitsidwa pazinthu zilizonse, ndipo iyenera kukhala ndi CSS yovomerezeka. Chida ichi chimagwiritsidwa ntchito pazida zomwe zidapangidwa. Kiyiyo class
ikasiyidwa, imagwiranso ntchito ngati dzina la kalasi yokhazikika. Taganizirani text-decoration
zothandiza:
$utilities: (
"text-decoration": (
property: text-decoration,
values: none underline line-through
)
);
Zotulutsa:
.text-decoration-none { text-decoration: none !important; }
.text-decoration-underline { text-decoration: underline !important; }
.text-decoration-line-through { text-decoration: line-through !important; }
Makhalidwe
Gwiritsani ntchito values
kiyi kuti mufotokoze zomwe zatchulidwazo property
ziyenera kugwiritsidwa ntchito m'mayina ndi malamulo omwe apangidwa. Itha kukhala mndandanda kapena mapu (okhazikitsidwa muzothandizira kapena mumtundu wa Sass).
Monga mndandanda, monga ndi text-decoration
zothandiza :
values: none underline line-through
Monga mapu, monga ndi opacity
zothandiza :
values: (
0: 0,
25: .25,
50: .5,
75: .75,
100: 1,
)
Monga kusintha kwa Sass komwe kumayika mndandanda kapena mapu, monga momwe zilili position
m'magwiritsidwe athu :
values: $position-values
Kalasi
Gwiritsani ntchito class
mwayiwu kuti musinthe prefix ya kalasi yomwe imagwiritsidwa ntchito mu CSS yophatikizidwa. Mwachitsanzo, kusintha kuchokera .opacity-*
ku .o-*
:
$utilities: (
"opacity": (
property: opacity,
class: o,
values: (
0: 0,
25: .25,
50: .5,
75: .75,
100: 1,
)
)
);
Zotulutsa:
.o-0 { opacity: 0 !important; }
.o-25 { opacity: .25 !important; }
.o-50 { opacity: .5 !important; }
.o-75 { opacity: .75 !important; }
.o-100 { opacity: 1 !important; }
Ngati class: null
, imapanga makalasi pamakiyi aliwonse values
:
$utilities: (
"visibility": (
property: visibility,
class: null,
values: (
visible: visible,
invisible: hidden,
)
)
);
Zotulutsa:
.visible { visibility: visible !important; }
.invisible { visibility: hidden !important; }
CSS zosinthika zothandizira
Khazikitsani njira ya css-var
boolean true
ndipo API ipanga zosintha zapa CSS za osankhidwa omwe apatsidwa m'malo mwa property: value
malamulo omwe mwachizolowezi. Onjezani zosankha css-variable-name
kuti muyike dzina losiyana la CSS kuposa dzina la kalasi.
Ganizirani .text-opacity-*
zofunikira zathu. Ngati tiwonjezera css-variable-name
njirayo, tipeza zotuluka mwamakonda.
$utilities: (
"text-opacity": (
css-var: true,
css-variable-name: text-alpha,
class: text-opacity,
values: (
25: .25,
50: .5,
75: .75,
100: 1
)
),
);
Zotulutsa:
.text-opacity-25 { --bs-text-alpha: .25; }
.text-opacity-50 { --bs-text-alpha: .5; }
.text-opacity-75 { --bs-text-alpha: .75; }
.text-opacity-100 { --bs-text-alpha: 1; }
Zosintha zapa CSS
Gwiritsani ntchito local-vars
mwayiwu kuti mutchule mapu a Sass omwe apangitse zosintha za CSS m'gulu la utility class. Chonde dziwani kuti pangafunike ntchito yowonjezera kuti mugwiritse ntchito zosintha za CSS m'malamulo opangidwa ndi CSS. Mwachitsanzo, taganizirani .bg-*
zofunikira zathu:
$utilities: (
"background-color": (
property: background-color,
class: bg,
local-vars: (
"bg-opacity": 1
),
values: map-merge(
$utilities-bg-colors,
(
"transparent": transparent
)
)
)
);
Zotulutsa:
.bg-primary {
--bs-bg-opacity: 1;
background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;
}
Mayiko
Gwiritsani ntchito state
mwayiwu kuti mupange zosiyana za pseudo-class. Zitsanzo za pseudo-class :hover
ndi :focus
. Mndandanda wa mayiko ukaperekedwa, mayina amakalasi amapangidwa a kalasi yabodza. Mwachitsanzo, kuti musinthe kuwala pa hover, onjezani state: hover
ndipo mudzalowa .opacity-hover:hover
mu CSS yanu yopangidwa.
Mukufuna makalasi abodza angapo? Gwiritsani ntchito mndandanda wa mayiko: state: hover focus
.
$utilities: (
"opacity": (
property: opacity,
class: opacity,
state: hover,
values: (
0: 0,
25: .25,
50: .5,
75: .75,
100: 1,
)
)
);
Zotulutsa:
.opacity-0-hover:hover { opacity: 0 !important; }
.opacity-25-hover:hover { opacity: .25 !important; }
.opacity-50-hover:hover { opacity: .5 !important; }
.opacity-75-hover:hover { opacity: .75 !important; }
.opacity-100-hover:hover { opacity: 1 !important; }
Womvera
Onjezani responsive
boolean kuti mupange zida zoyankhira (mwachitsanzo, .opacity-md-25
) pazovuta zonse .
$utilities: (
"opacity": (
property: opacity,
responsive: true,
values: (
0: 0,
25: .25,
50: .5,
75: .75,
100: 1,
)
)
);
Zotulutsa:
.opacity-0 { opacity: 0 !important; }
.opacity-25 { opacity: .25 !important; }
.opacity-50 { opacity: .5 !important; }
.opacity-75 { opacity: .75 !important; }
.opacity-100 { opacity: 1 !important; }
@media (min-width: 576px) {
.opacity-sm-0 { opacity: 0 !important; }
.opacity-sm-25 { opacity: .25 !important; }
.opacity-sm-50 { opacity: .5 !important; }
.opacity-sm-75 { opacity: .75 !important; }
.opacity-sm-100 { opacity: 1 !important; }
}
@media (min-width: 768px) {
.opacity-md-0 { opacity: 0 !important; }
.opacity-md-25 { opacity: .25 !important; }
.opacity-md-50 { opacity: .5 !important; }
.opacity-md-75 { opacity: .75 !important; }
.opacity-md-100 { opacity: 1 !important; }
}
@media (min-width: 992px) {
.opacity-lg-0 { opacity: 0 !important; }
.opacity-lg-25 { opacity: .25 !important; }
.opacity-lg-50 { opacity: .5 !important; }
.opacity-lg-75 { opacity: .75 !important; }
.opacity-lg-100 { opacity: 1 !important; }
}
@media (min-width: 1200px) {
.opacity-xl-0 { opacity: 0 !important; }
.opacity-xl-25 { opacity: .25 !important; }
.opacity-xl-50 { opacity: .5 !important; }
.opacity-xl-75 { opacity: .75 !important; }
.opacity-xl-100 { opacity: 1 !important; }
}
@media (min-width: 1400px) {
.opacity-xxl-0 { opacity: 0 !important; }
.opacity-xxl-25 { opacity: .25 !important; }
.opacity-xxl-50 { opacity: .5 !important; }
.opacity-xxl-75 { opacity: .75 !important; }
.opacity-xxl-100 { opacity: 1 !important; }
}
Sindikizani
Kutsegula mwayiwu print
kumapangitsanso makalasi ofunikira kuti asindikizidwe, omwe amangogwiritsidwa ntchito @media print { ... }
pazofunsa zapa media.
$utilities: (
"opacity": (
property: opacity,
print: true,
values: (
0: 0,
25: .25,
50: .5,
75: .75,
100: 1,
)
)
);
Zotulutsa:
.opacity-0 { opacity: 0 !important; }
.opacity-25 { opacity: .25 !important; }
.opacity-50 { opacity: .5 !important; }
.opacity-75 { opacity: .75 !important; }
.opacity-100 { opacity: 1 !important; }
@media print {
.opacity-print-0 { opacity: 0 !important; }
.opacity-print-25 { opacity: .25 !important; }
.opacity-print-50 { opacity: .5 !important; }
.opacity-print-75 { opacity: .75 !important; }
.opacity-print-100 { opacity: 1 !important; }
}
Kufunika
Zothandizira zonse zopangidwa ndi API zikuphatikiza !important
kuwonetsetsa kuti zikupitilira zigawo ndi makalasi osintha momwe amafunira. Mutha kusintha izi padziko lonse lapansi $enable-important-utilities
ndikusintha (zosasintha kukhala true
).
Kugwiritsa ntchito API
Tsopano popeza mukudziwa momwe zida za API zimagwirira ntchito, phunzirani momwe mungawonjezere makalasi anu ndikusintha zida zathu zokhazikika.
Chotsani zofunikira
Chotsani zida zomwe zilipo kale pogwiritsa ntchito kiyi yomweyo. Mwachitsanzo, ngati mukufuna makalasi owonjezera omvera osefukira, mutha kuchita izi:
$utilities: (
"overflow": (
responsive: true,
property: overflow,
values: visible hidden scroll auto,
),
);
Onjezani zofunikira
Zatsopano zitha kuwonjezedwa $utilities
pamapu okhazikika ndi a map-merge
. Onetsetsani kuti mafayilo athu ofunikira a Sass ndi _utilities.scss
kutumizidwa kaye, kenako gwiritsani ntchito map-merge
kuwonjezera zina zowonjezera. Mwachitsanzo, nayi momwe mungawonjezere ntchito cursor
yomvera yokhala ndi mfundo zitatu.
@import "bootstrap/scss/functions";
@import "bootstrap/scss/variables";
@import "bootstrap/scss/maps";
@import "bootstrap/scss/mixins";
@import "bootstrap/scss/utilities";
$utilities: map-merge(
$utilities,
(
"cursor": (
property: cursor,
class: cursor,
responsive: true,
values: auto pointer grab,
)
)
);
@import "bootstrap/scss/utilities/api";
Sinthani zothandiza
$utilities
Sinthani zida zomwe zilipo pamapu okhazikika map-get
ndi map-merge
ntchito. Muchitsanzo chomwe chili m'munsimu, tikuwonjezera phindu kuzinthu width
zothandizira. Yambani ndi choyambirira map-merge
ndiyeno tchulani chida chomwe mukufuna kusintha. Kuchokera pamenepo, tengani "width"
mapu omwe ali nawo map-get
kuti mupeze ndikusintha zomwe mungagwiritse ntchito komanso zofunikira zake.
@import "bootstrap/scss/functions";
@import "bootstrap/scss/variables";
@import "bootstrap/scss/maps";
@import "bootstrap/scss/mixins";
@import "bootstrap/scss/utilities";
$utilities: map-merge(
$utilities,
(
"width": map-merge(
map-get($utilities, "width"),
(
values: map-merge(
map-get(map-get($utilities, "width"), "values"),
(10: 10%),
),
),
),
)
);
@import "bootstrap/scss/utilities/api";
Yambitsani kuyankha
Mutha kuyatsa makalasi omvera pagulu lazinthu zomwe zilipo zomwe sizikugwira ntchito mwachisawawa. Mwachitsanzo, kupanga border
makalasi kulabadira:
@import "bootstrap/scss/functions";
@import "bootstrap/scss/variables";
@import "bootstrap/scss/maps";
@import "bootstrap/scss/mixins";
@import "bootstrap/scss/utilities";
$utilities: map-merge(
$utilities, (
"border": map-merge(
map-get($utilities, "border"),
( responsive: true ),
),
)
);
@import "bootstrap/scss/utilities/api";
Izi tsopano zipangitsa kusiyanasiyana komvera .border
komanso .border-0
pagawo lililonse. CSS yanu yopangidwa idzawoneka motere:
.border { ... }
.border-0 { ... }
@media (min-width: 576px) {
.border-sm { ... }
.border-sm-0 { ... }
}
@media (min-width: 768px) {
.border-md { ... }
.border-md-0 { ... }
}
@media (min-width: 992px) {
.border-lg { ... }
.border-lg-0 { ... }
}
@media (min-width: 1200px) {
.border-xl { ... }
.border-xl-0 { ... }
}
@media (min-width: 1400px) {
.border-xxl { ... }
.border-xxl-0 { ... }
}
Sinthani dzina lothandizira
Zida za v4 zomwe zikusowa, kapena zomwe munazolowera kutchuthi zina? Zothandizira API zitha kugwiritsidwa ntchito kuwongolera zomwe class
zaperekedwa - mwachitsanzo, kutchulanso .ms-*
zida kukhala oldish .ml-*
:
@import "bootstrap/scss/functions";
@import "bootstrap/scss/variables";
@import "bootstrap/scss/maps";
@import "bootstrap/scss/mixins";
@import "bootstrap/scss/utilities";
$utilities: map-merge(
$utilities, (
"margin-start": map-merge(
map-get($utilities, "margin-start"),
( class: ml ),
),
)
);
@import "bootstrap/scss/utilities/api";
Chotsani zofunikira
Chotsani chilichonse chokhazikika chomwe chili ndi ntchito ya map-remove()
Sass .
@import "bootstrap/scss/functions";
@import "bootstrap/scss/variables";
@import "bootstrap/scss/maps";
@import "bootstrap/scss/mixins";
@import "bootstrap/scss/utilities";
// Remove multiple utilities with a comma-separated list
$utilities: map-remove($utilities, "width", "float");
@import "bootstrap/scss/utilities/api";
Mutha kugwiritsanso ntchito ntchito ya map-merge()
Sass ndikuyika kiyi ya gulu null
kuti muchotse zofunikira.
@import "bootstrap/scss/functions";
@import "bootstrap/scss/variables";
@import "bootstrap/scss/maps";
@import "bootstrap/scss/mixins";
@import "bootstrap/scss/utilities";
$utilities: map-merge(
$utilities,
(
"width": null
)
);
@import "bootstrap/scss/utilities/api";
Onjezani, chotsani, sinthani
Mutha kuwonjezera, kuchotsa, ndikusintha zida zambiri nthawi imodzi ndi ntchito ya map-merge()
Sass . Umu ndi momwe mungaphatikizire zitsanzo zam'mbuyo kukhala mapu amodzi akulu.
@import "bootstrap/scss/functions";
@import "bootstrap/scss/variables";
@import "bootstrap/scss/maps";
@import "bootstrap/scss/mixins";
@import "bootstrap/scss/utilities";
$utilities: map-merge(
$utilities,
(
// Remove the `width` utility
"width": null,
// Make an existing utility responsive
"border": map-merge(
map-get($utilities, "border"),
( responsive: true ),
),
// Add new utilities
"cursor": (
property: cursor,
class: cursor,
responsive: true,
values: auto pointer grab,
)
)
);
@import "bootstrap/scss/utilities/api";
Chotsani zofunikira mu RTL
Milandu ina yam'mphepete imapangitsa masitayilo a RTL kukhala ovuta , monga kutha kwa mizere mu Chiarabu. Chifukwa chake zothandizira zitha kuchotsedwa kuchokera ku RTL pokhazikitsa rtl
njira yoti false
:
$utilities: (
"word-wrap": (
property: word-wrap word-break,
class: text,
values: (break: break-word),
rtl: false
),
);
Zotulutsa:
/* rtl:begin:remove */
.text-break {
word-wrap: break-word !important;
word-break: break-word !important;
}
/* rtl:end:remove */
Izi sizitulutsa kalikonse mu RTL, chifukwa cha malangizo a RTLCSSremove
.