Saltatu eduki nagusira Saltatu dokumentuen nabigaziora
in English

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,
  ),
);

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 .