Erabilgarritasun APIa
Utility API Sass-en oinarritutako tresna bat da, erabilgarritasun-klaseak sortzeko.
Bootstrap utilitateak gure erabilgarritasun APIarekin sortzen dira eta Sass-en bidez gure erabilgarritasun-klase multzo lehenetsiak aldatzeko edo zabaltzeko erabil daitezke. Gure erabilgarritasun APIa Sass mapa eta funtzio multzo batean oinarritzen da, hainbat aukera dituzten klase-familiak sortzeko. Sass mapak ezagutzen ez badituzu, irakurri Sass dokumentu ofizialak hasteko.
Mapak $utilitiesgure utilitate guztiak ditu eta gero zure mapa pertsonalizatuarekin bateratzen da $utilities, baldin badago. Erabilgarritasun-mapak aukera hauek onartzen dituzten erabilgarritasun-taldeen zerrenda bat dauka:
| Aukera | Mota | Deskribapena |
|---|---|---|
property |
Beharrezkoa | Propietatearen izena, kate bat edo kate-matrize bat izan daiteke (adibidez, betegarri horizontalak edo marjinak). |
values |
Beharrezkoa | Balioen zerrenda edo mapa bat ez baduzu nahi klasearen izena balioaren berdina izatea. nullMapa-gako gisa erabiltzen bada , ez da konpilatzen. |
class |
Aukerakoa | Klasearen izenaren aldagaia ez baduzu jabetzaren berdina izatea nahi. Gakoa ematen ez baduzu classeta propertygakoa kateen array bat bada, klasearen izena arrayaren lehen elementua izango da property. |
state |
Aukerakoa | Erabilgarritasunerako :hoveredo sortu beharreko sasi-klase aldaeren zerrenda . :focusEz dago balio lehenetsirik. |
responsive |
Aukerakoa | Klase sentikorrak sortu behar diren adierazten duen boolearra. falselehenetsiz. |
rfs |
Aukerakoa | Boolearra fluidoen eskala berritzea gaitzeko. Begiratu RFS orrialdeari nola funtzionatzen duen jakiteko. falselehenetsiz. |
print |
Aukerakoa | Inprimatzeko klaseak sortu behar diren adierazten duen boolearra. falselehenetsiz. |
rtl |
Aukerakoa | Baliagarritasuna RTL-n mantendu behar den adierazten duen boolearra. truelehenetsiz. |
API azaldu da
$utilitiesErabilgarritasun-aldagai guztiak gure _utilities.scssestilo -orri barruan aldagaiari gehitzen zaizkio . Utilitate talde bakoitzak honelako itxura du:
$utilities: (
"opacity": (
property: opacity,
values: (
0: 0,
25: .25,
50: .5,
75: .75,
100: 1,
)
)
);
Honek hurrengoa ateratzen du:
.opacity-0 { opacity: 0; }
.opacity-25 { opacity: .25; }
.opacity-50 { opacity: .5; }
.opacity-75 { opacity: .75; }
.opacity-100 { opacity: 1; }
Klaseen aurrizki pertsonalizatua
Erabili classaukera konpilatutako CSS-an erabiltzen den klase-aurrizkia aldatzeko:
$utilities: (
"opacity": (
property: opacity,
class: o,
values: (
0: 0,
25: .25,
50: .5,
75: .75,
100: 1,
)
)
);
Irteera:
.o-0 { opacity: 0; }
.o-25 { opacity: .25; }
.o-50 { opacity: .5; }
.o-75 { opacity: .75; }
.o-100 { opacity: 1; }
Estatuak
Erabili stateaukera sasi-klaseen aldakuntzak sortzeko. Sasi-klase adibideak :hovereta dira :focus. Egoera zerrenda bat ematen denean, sasi-klase horretarako klase-izenak sortzen dira. Adibidez, pasatzean opakutasuna aldatzeko, gehitu state: hovereta .opacity-hover:hoverkonpilatutako CSS-an sartuko zara.
Sasi-klase anitz behar dituzu? Erabili zuriunez bereizitako egoera zerrenda bat: state: hover focus.
$utilities: (
"opacity": (
property: opacity,
class: opacity,
state: hover,
values: (
0: 0,
25: .25,
50: .5,
75: .75,
100: 1,
)
)
);
Irteera:
.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; }
Erabilgarritasun erreaktiboak
Gehitu boolearra eten puntu guztietanresponsive erantzuteko utilitateak sortzeko (adibidez, .opacity-md-25) .
$utilities: (
"opacity": (
property: opacity,
responsive: true,
values: (
0: 0,
25: .25,
50: .5,
75: .75,
100: 1,
)
)
);
Irteera:
.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; }
}
Utilitateak aldatzea
Gainidatzi lehendik dauden utilitateak gako bera erabiliz. Esate baterako, gainezka-erabilgarritasun klase gehigarriak nahi badituzu, hau egin dezakezu:
$utilities: (
"overflow": (
responsive: true,
property: overflow,
values: visible hidden scroll auto,
),
);
Inprimatzeko utilitateak
printAukera gaituz gero , inprimatzeko erabilgarritasun-klaseak ere sortuko dira, @media print { ... }multimedia-kontsultaren barruan soilik aplikatzen direnak.
$utilities: (
"opacity": (
property: opacity,
print: true,
values: (
0: 0,
25: .25,
50: .5,
75: .75,
100: 1,
)
)
);
Irteera:
.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; }
}
Garrantzia
APIak sortutako utilitate guztiek !importantosagaiak eta modifikatzaile klaseak nahi bezala gainidazten dituztela ziurtatzeko barne hartzen dute. Ezarpen hau orokorrean alda dezakezu $enable-important-utilitiesaldagaiarekin (lehenetsia true).
APIa erabiliz
Utilitateen APIak nola funtzionatzen duen ezagutzen duzunez, ikasi zure klase pertsonalizatuak gehitzen eta gure utilitate lehenetsiak aldatzen.
Gehitu utilitateak
Utilitate berriak gehi daitezke $utilitiesmapa lehenetsian map-merge. Ziurtatu gure beharrezko Sass fitxategiak eta _utilities.scssinportatzen direla lehenik, eta gero erabili map-mergezure utilitate gehigarriak gehitzeko. cursorEsate baterako, hona hemen hiru balio dituen erabilgarritasun sentikorra nola gehitu .
@import "bootstrap/scss/functions";
@import "bootstrap/scss/variables";
@import "bootstrap/scss/utilities";
$utilities: map-merge(
$utilities,
(
"cursor": (
property: cursor,
class: cursor,
responsive: true,
values: auto pointer grab,
)
)
);
Aldatu utilitateak
$utilitiesAldatu lehendik dauden utilitateak mapa lehenetsian map-geteta map-mergefuntzioekin. Beheko adibidean, balio gehigarri bat gehitzen ari gara widthutilitateei. Hasi hasierako batekin map-mergeeta, ondoren, zehaztu zein utilitate aldatu nahi duzun. Hortik aurrera, eskuratu habiaraturiko "width"mapa map-geterabilgarritasunaren aukerak eta balioak atzitzeko eta aldatzeko.
@import "bootstrap/scss/functions";
@import "bootstrap/scss/variables";
@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%),
),
),
),
)
);
Gaitu erantzuleak
Modu lehenetsian erantzuten ez diren utilitate multzo baterako klase sentikorrak gaitu ditzakezu. Adibidez, borderklaseak erantzuteko:
@import "bootstrap/scss/functions";
@import "bootstrap/scss/variables";
@import "bootstrap/scss/utilities";
$utilities: map-merge(
$utilities, (
"border": map-merge(
map-get($utilities, "border"),
( responsive: true ),
),
)
);
Honek eten-puntu bakoitzaren .bordereta aldaera sentikorrak sortuko ditu orain . .border-0Sortutako CSS itxura hau izango du:
.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 { ... }
}
Aldatu izena utilitateei
v4 utilitateak falta dira, edo beste izendapen-konbentzio batera erabilita? Utilitateen APIa erabilgarritasun jakin baten emaitza gainidazteko erabil daiteke; classadibidez, .ms-*utilitateak zaharragora izendatzeko .ml-*:
@import "bootstrap/scss/functions";
@import "bootstrap/scss/variables";
@import "bootstrap/scss/utilities";
$utilities: map-merge(
$utilities, (
"margin-start": map-merge(
map-get($utilities, "margin-start"),
( class: ml ),
),
)
);
Kendu utilitateak
Kendu utilitate lehenetsietako bat taldeko gakoa ezarriz null. Adibidez, gure widthutilitate guztiak kentzeko, sortu bat $utilities map-mergeeta gehitu "width": nullbarruan.
@import "bootstrap/scss/functions";
@import "bootstrap/scss/variables";
@import "bootstrap/scss/utilities";
$utilities: map-merge(
$utilities,
(
"width": null
)
);
Kendu utilitatea RTL-n
Ertz-kasu batzuek RTL estiloa zailtzen dute, hala nola arabierazko lerro-jauziak. Horrela, utilitateak RTL irteeratik ken daitezke rtlaukera hau ezarriz false:
$utilities: (
"word-wrap": (
property: word-wrap word-break,
class: text,
values: (break: break-word),
rtl: false
),
);
Irteera:
/* rtl:begin:remove */
.text-break {
word-wrap: break-word !important;
word-break: break-word !important;
}
/* rtl:end:remove */
Honek ez du ezer ateratzen RTL-n, RTLCSS removekontrol zuzentarauari esker .