मुख्य सामग्री पर जाएँ docs नेविगेशनं प्रति गच्छतु
Check
in English

उपयोगिता एपिआइ

उपयोगिता एपिआइ उपयोगितावर्गान् जनयितुं Sass-आधारितं साधनम् अस्ति ।

Bootstrap उपयोगिताः अस्माकं उपयोगिता API सह उत्पद्यन्ते तथा च Sass मार्गेण अस्माकं उपयोगितावर्गाणां पूर्वनिर्धारितसमूहं परिवर्तयितुं विस्तारयितुं वा उपयोक्तुं शक्यते । अस्माकं उपयोगिता एपिआइ विविधविकल्पैः सह वर्गपरिवारजननार्थं Sass मानचित्रस्य कार्याणां च श्रृङ्खलायाम् आधारितम् अस्ति । यदि भवान् Sass मानचित्रेभ्यः अपरिचितः अस्ति तर्हि आरम्भार्थं आधिकारिक Sass docs उपरि पठतु ।

मानचित्रे अस्माकं $utilitiesसर्वाणि उपयोगितानि सन्ति तथा च पश्चात् भवतः कस्टम् $utilitiesमानचित्रेण सह विलीनं भवति, यदि वर्तते। उपयोगिता मानचित्रे उपयोगिता समूहानां कीलयुक्ता सूची अस्ति ये निम्नलिखितविकल्पान् स्वीकुर्वन्ति:

विकल्प प्रकारः पूर्वनिर्धारितं मूल्यम् वर्णनम्‌
property आवश्यकः – ९. गुणस्य नाम, एतत् स्ट्रिंग् अथवा स्ट्रिंग्स् इत्यस्य सरणी (उदा., क्षैतिजपैडिंग्स् अथवा मार्जिन्स्) भवितुम् अर्हति ।
values आवश्यकः – ९. मूल्यानां सूची, अथवा नक्शा यदि भवान् न इच्छति यत् वर्गनाम मूल्यस्य समानं भवतु । यदि nullmap कीलरूपेण उपयुज्यते, classवर्गनाम्नः पूर्वं न भवति ।
class वैकल्पिक लुप्तमूल्य उत्पन्नवर्गस्य नाम । यदि न प्रदत्तं तथा च propertyस्ट्रिंग्स् इत्यस्य सरणी अस्ति, तर्हि सरणीयाः classप्रथमतत्त्वं प्रति पूर्वनिर्धारितं भविष्यति property। यदि न प्रदत्तं तथा च propertyस्ट्रिंग् अस्ति तर्हि नामानां valuesकृते कीलानि उपयुज्यन्ते ।class
css-var वैकल्पिक false CSS नियमानाम् स्थाने CSS चर जनयितुं बूलियन ।
css-variable-name वैकल्पिक लुप्तमूल्य नियमसमूहस्य अन्तः CSS चरस्य कृते इष्टम् अ-उपसर्गयुक्तं नाम ।
local-vars वैकल्पिक लुप्तमूल्य CSS नियमानाम् अतिरिक्तं जनयितुं स्थानीय CSS चरस्य मानचित्रम्।
state वैकल्पिक लुप्तमूल्य उत्पन्नं कर्तुं छद्मवर्गस्य रूपान्तराणां सूची (उदा., :hoverअथवा ) ।:focus
responsive वैकल्पिक false प्रतिक्रियाशीलवर्गाः उत्पन्नव्याः वा इति सूचयति बूलियन ।
rfs वैकल्पिक false RFS इत्यनेन सह द्रवपुनर्मापनं सक्षमीकरणाय बूलियन .
print वैकल्पिक false मुद्रणवर्गाणां जननस्य आवश्यकता अस्ति वा इति सूचयति बूलियन ।
rtl वैकल्पिक true उपयोगिता RTL मध्ये स्थापनीया वा इति सूचयति बूलियन।

एपिआइ व्याख्यातवान्

$utilitiesअस्माकं _utilities.scssstylesheet अन्तः सर्वे utility variables इत्येतत् variable मध्ये योजिताः भवन्ति । उपयोगितानां प्रत्येकं समूहः किञ्चित् एतादृशं दृश्यते ।

$utilities: (
  "opacity": (
    property: opacity,
    values: (
      0: 0,
      25: .25,
      50: .5,
      75: .75,
      100: 1,
    )
  )
);

जो निम्नलिखित आउटपुट करता है:

.opacity-0 { opacity: 0; }
.opacity-25 { opacity: .25; }
.opacity-50 { opacity: .5; }
.opacity-75 { opacity: .75; }
.opacity-100 { opacity: 1; }

सम्पत्तिः

कस्यापि उपयोगितायाः कृते आवश्यकं propertyकुञ्जी सेट् करणीयम्, तस्मिन् वैधं CSS गुणं च अवश्यं भवितव्यम् । एतत् गुणं जनितस्य उपयोगितायाः नियमसमूहे उपयुज्यते । यदा classकीलः लोप्यते तदा पूर्वनिर्धारितवर्गनामरूपेण अपि कार्यं करोति । text-decorationउपयोगिता विचार्यताम् : १.

$utilities: (
  "text-decoration": (
    property: text-decoration,
    values: none underline line-through
  )
);

आउटपुट् : 1 .

.text-decoration-none { text-decoration: none !important; }
.text-decoration-underline { text-decoration: underline !important; }
.text-decoration-line-through { text-decoration: line-through !important; }

मूल्यानि

उत्पन्नवर्गनामेषु नियमेषु च निर्दिष्टस्य कृते के के मूल्यानि उपयोक्तव्यानि इति valuesनिर्दिष्टुं कीलस्य उपयोगं कुर्वन्तु । propertyसूची अथवा नक्शा (उपयोगितासु अथवा Sass चर मध्ये सेट्) भवितुम् अर्हति ।

सूचीरूपेण, text-decorationउपयोगितानां सह इव :

values: none underline line-through

नक्शारूपेण, opacityउपयोगितानां सह इव :

values: (
  0: 0,
  25: .25,
  50: .5,
  75: .75,
  100: 1,
)

सूचीं वा नक्शां वा सेट् करोति इति Sass चररूपेण, यथा अस्माकं positionउपयोगितासु :

values: $position-values

श्रेणी

classसंकलित-CSS मध्ये प्रयुक्तं वर्ग-उपसर्गं परिवर्तयितुं विकल्पस्य उपयोगं कुर्वन्तु । यथा - तः .opacity-*परिवर्तयितुं .o-*:

$utilities: (
  "opacity": (
    property: opacity,
    class: o,
    values: (
      0: 0,
      25: .25,
      50: .5,
      75: .75,
      100: 1,
    )
  )
);

आउटपुट् : 1 .

.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; }

यदि class: null, प्रत्येकस्य कीलस्य कृते वर्गान् जनयति values:

$utilities: (
  "visibility": (
    property: visibility,
    class: null,
    values: (
      visible: visible,
      invisible: hidden,
    )
  )
);

आउटपुट् : 1 .

.visible { visibility: visible !important; }
.invisible { visibility: hidden !important; }

CSS चर उपयोगिताएँ

css-varboolean विकल्पं सेट् कुर्वन्तु trueतथा च API सामान्यनियमानां स्थाने दत्तचयनकर्तुः कृते स्थानीय CSS चर जनयिष्यति property: valuecss-variable-nameवर्गनामात् भिन्नं CSS चरनाम सेट् कर्तुं वैकल्पिकं योजयन्तु ।

अस्माकं .text-opacity-*उपयोगितानां विषये विचार्यताम्। css-variable-nameयदि वयं विकल्पं योजयामः तर्हि वयं custom output प्राप्नुमः ।

$utilities: (
  "text-opacity": (
    css-var: true,
    css-variable-name: text-alpha,
    class: text-opacity,
    values: (
      25: .25,
      50: .5,
      75: .75,
      100: 1
    )
  ),
);

आउटपुट् : 1 .

.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; }

स्थानीय CSS चर

Sass मानचित्रं निर्दिष्टुं विकल्पस्य उपयोगं कुर्वन्तु local-varsयत् उपयोगितावर्गस्य नियमसमूहस्य अन्तः स्थानीयं CSS चरं जनयिष्यति । कृपया ज्ञातव्यं यत् उत्पन्नेषु CSS नियमेषु तान् स्थानीयान् CSS चरानाम् उपभोगार्थं अतिरिक्तकार्यस्य आवश्यकता भवितुम् अर्हति । यथा, अस्माकं .bg-*उपयोगितानां विषये विचारयन्तु : १.

$utilities: (
  "background-color": (
    property: background-color,
    class: bg,
    local-vars: (
      "bg-opacity": 1
    ),
    values: map-merge(
      $utilities-bg-colors,
      (
        "transparent": transparent
      )
    )
  )
);

आउटपुट् : 1 .

.bg-primary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;
}

राज्यानि

stateछद्म-वर्ग-विविधतां जनयितुं विकल्पस्य उपयोगं कुर्वन्तु । उदाहरण छद्मवर्गाः सन्ति :hoverतथा :focus. यदा राज्यसूची प्रदत्ता भवति तदा तस्य छद्मवर्गस्य कृते वर्गनामानि निर्मीयन्ते । यथा, hover इत्यत्र opacity परिवर्तयितुं, add कृत्वा भवान् स्वस्य संकलितं CSS मध्ये state: hoverप्राप्स्यति ।.opacity-hover:hover

अनेक छद्म-वर्गाणां आवश्यकता अस्ति वा ? अवस्थानां अन्तरिक्ष-विभक्तसूचीं उपयुज्यताम्: state: hover focus.

$utilities: (
  "opacity": (
    property: opacity,
    class: opacity,
    state: hover,
    values: (
      0: 0,
      25: .25,
      50: .5,
      75: .75,
      100: 1,
    )
  )
);

आउटपुट् : 1 .

.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; }

प्रतिक्रियाशीलः

सर्वेषु ब्रेकपॉइण्ट् -मध्ये प्रतिक्रियाशील-उपयोगितानि (उदा., ) responsiveजनयितुं बूलियन् योजयन्तु ।.opacity-md-25

$utilities: (
  "opacity": (
    property: opacity,
    responsive: true,
    values: (
      0: 0,
      25: .25,
      50: .5,
      75: .75,
      100: 1,
    )
  )
);

आउटपुट् : 1 .

.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; }
}

मुद्रणम्

printविकल्पं सक्षमीकरणेन मुद्रणार्थं उपयोगितावर्गाः अपि@media print { ... } उत्पद्यन्ते, ये केवलं मीडियाप्रश्नस्य अन्तः एव प्रयुक्ताः भवन्ति ।

$utilities: (
  "opacity": (
    property: opacity,
    print: true,
    values: (
      0: 0,
      25: .25,
      50: .5,
      75: .75,
      100: 1,
    )
  )
);

आउटपुट् : 1 .

.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; }
}

महत्त्वम्

एपिआइ द्वारा उत्पन्नानि सर्वाणि उपयोगितानि समाविष्टानि सन्ति !importantयत् ते घटकान् परिवर्तकवर्गान् च यथा अभिप्रेतरूपेण अधिलिखन्ति इति सुनिश्चितं कुर्वन्ति । भवान् एतत् सेटिङ्ग् वैश्विकरूपेण $enable-important-utilitiesचर (defaults to true) इत्यनेन सह टॉग्ल् कर्तुं शक्नोति ।

एपिआइ इत्यस्य उपयोगेन

इदानीं यदा भवान् utilities API कथं कार्यं करोति इति परिचितः अस्ति, तदा स्वस्य कस्टम् क्लास् कथं योजयितुं अस्माकं पूर्वनिर्धारित utilities परिवर्तयितुं च ज्ञातव्यम् ।

उपयोगिताओं को अधिलिखित करें

समान कील का उपयोग करके विद्यमान उपयोगिताओं को अधिलिखित करें। यथा, यदि भवान् अतिरिक्त-प्रतिसादात्मक-अतिप्रवाह-उपयोगितावर्गान् इच्छति तर्हि भवान् एतत् कर्तुं शक्नोति:

$utilities: (
  "overflow": (
    responsive: true,
    property: overflow,
    values: visible hidden scroll auto,
  ),
);

उपयोगितानि योजयन्तु

$utilitiesपूर्वनिर्धारितमानचित्रे नूतनानि उपयोगितानि योजयितुं शक्यन्ते map-merge. _utilities.scssअस्माकं आवश्यकाः Sass सञ्चिकाः प्रथमं आयातिताः च इति सुनिश्चितं कुर्वन्तु , ततः map-mergeस्वस्य अतिरिक्त-उपयोगिताः योजयितुं the इत्यस्य उपयोगं कुर्वन्तु । यथा, अत्र cursorत्रिभिः मूल्यैः सह प्रतिक्रियाशीलं उपयोगिता कथं योजयितुं शक्यते ।

@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";

उपयोगिताओं को संशोधित करें

पूर्वनिर्धारितमानचित्रे विद्यमानानाम् उपयोगितानां परिवर्तनं कुर्वन्तु $utilitieswith map-getand map-mergefunctions इति । अधोलिखिते उदाहरणे वयं widthउपयोगितासु अतिरिक्तं मूल्यं योजयामः । आद्याक्षरेण आरभ्य map-mergeततः निर्दिशतु यत् भवान् कस्याः उपयोगितायाः परिवर्तनं कर्तुम् इच्छति । ततः, उपयोगितायाः विकल्पान् मूल्यानि च अभिगन्तुं परिवर्तयितुं च "width"सह नेस्टेड् मैप् आनयन्तु ।map-get

@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";

प्रतिक्रियाशील सक्षम करें

भवान् विद्यमानस्य उपयोगितानां समुच्चयस्य कृते प्रतिक्रियाशीलवर्गान् सक्षमं कर्तुं शक्नोति ये पूर्वनिर्धारितरूपेण वर्तमानकाले प्रतिक्रियाशीलाः न सन्ति । यथा, borderवर्गान् प्रतिक्रियाशीलं कर्तुं : १.

@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";

एतेन इदानीं प्रत्येकस्य भङ्गबिन्दुस्य प्रति .borderप्रतिक्रियाशीलविविधताः उत्पद्यन्ते । .border-0भवतः उत्पन्नं CSS एतादृशं दृश्यते ।

.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 { ... }
}

उपयोगितानां नाम परिवर्तयन्तु

v4 उपयोगिताः लुप्ताः, अथवा अन्यस्य नामकरणपरम्परायाः प्रयुक्ताः? उपयोगितानां API इत्यस्य उपयोगः दत्तस्य उपयोगितायाः परिणामं अधिलिखितुं शक्यते class—उदाहरणार्थं, .ms-*उपयोगितानां नामकरणं पुरातनं कर्तुं .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";

उपयोगिताओं को हटा दें

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";

भवान् map-merge()Sass फंक्शन्null इत्यस्य अपि उपयोगं कर्तुं शक्नोति तथा च utility इत्येतत् निष्कासयितुं group key to सेट् कर्तुं शक्नोति ।

@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";

योजयतु, निष्कासयतु, परिवर्तयतु

map-merge()Sass function इत्यनेन भवान् एकदा एव अनेकानि उपयोगितानि योजयितुं, निष्कासयितुं, परिवर्तयितुं च शक्नोति । अत्र पूर्वोदाहरणानि कथं एकस्मिन् बृहत्तरे मानचित्रे संयोजयितुं शक्नुवन्ति इति दर्शितम् अस्ति ।

@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";

RTL मध्ये उपयोगिता निष्कासयन्तु

केचन धारप्रकरणाः RTL स्टाइलिंग् कठिनं कुर्वन्ति , यथा अरबीभाषायां रेखाविच्छेदः। rtlएवं विकल्पं सेट् कृत्वा RTL आउटपुट् तः उपयोगितानां पातनं कर्तुं शक्यते false:

$utilities: (
  "word-wrap": (
    property: word-wrap word-break,
    class: text,
    values: (break: break-word),
    rtl: false
  ),
);

आउटपुट् : 1 .

/* rtl:begin:remove */
.text-break {
  word-wrap: break-word !important;
  word-break: break-word !important;
}
/* rtl:end:remove */

एतेन RTL मध्ये किमपि न निर्गच्छति, RTLCSS removeनियन्त्रणनिर्देशस्य धन्यवादः .