उपयोगिता एपीआई
यूटिलिटी एपीआई यूटिलिटी क्लासें गी पैदा करने आस्तै इक सस-आधारत उपकरण ऐ।
बूटस्ट्रैप उपयोगिताएं गी साढ़ी उपयोगिता एपीआई कन्नै पैदा कीता जंदा ऐ ते इसदा इस्तेमाल सास दे राहें उपयोगिता वर्गें दे साढ़े डिफाल्ट सेट गी संशोधित जां विस्तार करने लेई कीता जाई सकदा ऐ। साढ़ा उपयोगिता एपीआई बक्ख-बक्ख विकल्पें कन्नै वर्गें दे परिवारें गी पैदा करने आस्तै सस मैप ते फंक्शनें दी इक श्रृंखला उप्पर आधारत ऐ । जेकर तुस Sass नक्शे कन्नै अनजान ओ, तां शुरू करने लेई आधिकारिक Sass डॉक्स पर पढ़ो ।
नक्शे च साढ़ी सारी उपयोगिताएं गी शामल कीता $utilitiesजंदा ऐ ते बाद च तुंदे कस्टम $utilitiesनक्शे कन्नै मर्ज कीता जंदा ऐ, जेकर मौजूद ऐ। उपयोगिता नक्शे च उपयोगिता समूहें दी कुंजी आह् ली सूची ऐ जेह् ड़ी निम्नलिखित विकल्पें गी स्वीकार करदी ऐ :
| चारा | किसम | ब्यौरा |
|---|---|---|
property |
लोड़चदा | गुण दा नांऽ, एह् इक स्ट्रिंग जां स्ट्रिंग्स दी सरणी (जियां, क्षैतिज पैडिंग जां हाशिया) होई सकदी ऐ. |
values |
लोड़चदा | मूल्यें दी सूची, जां इक नक्शा जेकर तुस नेईं चांह् दे ओ जे वर्ग दा नांऽ मूल्य दे समान होऐ. जेकर nullनक्शा कुंजी दे रूप च बरतेआ जंदा ऐ तां एह् संकलित नेईं कीता जंदा ऐ। |
class |
विकल्पी | क्लास दे नांऽ आस्तै चर जेकर तुस नेईं चांह् दे ओ जे एह् संपत्ति दे समान होऐ. इस मामले च जेकर तुस कुंजी नेईं दिंदे ओ classते propertyकुंजी स्ट्रिंग्स दी इक सरणी ऐ , तां वर्ग दा नांऽ propertyसरणी दा पैह् ला तत्व होग. |
state |
विकल्पी | उपयोगिता आस्तै पैदा करने आस्तै :hoverजां पैदा करने आस्तै छद्म-वर्ग वेरिएंटें दी सूची । :focusकोई डिफ़ॉल्ट मान नेईं ऐ। |
responsive |
विकल्पी | बूलियन गी दर्शांदा ऐ जेकर प्रतिक्रियाशील वर्गें गी पैदा करने दी लोड़ ऐ। falseडिफ़ॉल्ट रूप कन्नै। |
rfs |
विकल्पी | तरल पदार्थ पुनर्स्केलिंग गी सक्षम करने आस्तै बूलियन। एह् जानने लेई जे एह् किस चाल्ली कम्म करदा ऐ, आरएफएस पेज पर इक नज़र पाओ । falseडिफ़ॉल्ट रूप कन्नै। |
print |
विकल्पी | बूलियन गी दर्शांदा ऐ जे प्रिंट क्लासें गी पैदा करने दी लोड़ ऐ जां नेईं। falseडिफ़ॉल्ट रूप कन्नै। |
rtl |
विकल्पी | बूलियन गी दर्शांदा ऐ जे उपयोगिता गी आरटीएल च रक्खेआ जाना चाहिदा ऐ जां नेईं। trueडिफ़ॉल्ट रूप कन्नै। |
एपीआई ने समझाया
$utilitiesसाढ़े _utilities.scssस्टाइलशीट दे अंदर चर च सारे उपयोगिता चर जोड़े जंदे न । उपयोगिताएं दा हर इक समूह किश इस चाल्ली दिक्खदा ऐ:
$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; }
कस्टम वर्ग उपसर्ग
classसंकलित CSS च इस्तेमाल कीते गेदे वर्ग उपसर्ग गी बदलने आस्तै विकल्प दा उपयोग करो :
$utilities: (
"opacity": (
property: opacity,
class: o,
values: (
0: 0,
25: .25,
50: .5,
75: .75,
100: 1,
)
)
);
आउटपुट: ऐ।
.o-0 { opacity: 0; }
.o-25 { opacity: .25; }
.o-50 { opacity: .5; }
.o-75 { opacity: .75; }
.o-100 { opacity: 1; }
राज्यें च
stateछद्म-वर्ग बदलाव पैदा करने आस्तै विकल्प दा उपयोग करो . उदाहरण छद्म-वर्ग न :hoverते :focus. जदूं राज्यें दी सूची दित्ती जंदी ऐ तां उस छद्म-वर्ग आस्तै वर्ग-नाम बनाए जंदे न। मसाल आस्तै, होवर पर अस्पष्टता बदलने आस्तै, जोड़ो state: hoverते तुसें गी .opacity-hover:hoverअपने संकलित CSS च मिलग।
कई छद्म-वर्गें दी लोड़ ऐ ? राज्यें दी इक स्पेस-अलग कीती गेदी सूची दा इस्तेमाल करो: state: hover focus.
$utilities: (
"opacity": (
property: opacity,
class: opacity,
state: hover,
values: (
0: 0,
25: .25,
50: .5,
75: .75,
100: 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,
)
)
);
आउटपुट: ऐ।
.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; }
}
उपयोगिताएं बदलना
उसी कुंजी दा उपयोग करियै मौजूदा उपयोगिताएं गी ओवरराइड करो. मसाल आस्तै, जेकर तुस अतिरिक्त प्रतिक्रियाशील ओवरफ्लो उपयोगिता वर्गें गी चांह् दे ओ तां तुस एह् करी सकदे ओ:
$utilities: (
"overflow": (
responsive: true,
property: overflow,
values: visible hidden scroll auto,
),
);
प्रिंट उपयोगिताएं गी
printविकल्प गी सक्षम करने कन्नै प्रिंट आस्तै यूटिलिटी क्लास बी@media print { ... } पैदा होग, जेह् ड़ी सिर्फ मीडिया क्वेरी दे अंदर गै लागू कीती जंदी ऐ।
$utilities: (
"opacity": (
property: opacity,
print: true,
values: (
0: 0,
25: .25,
50: .5,
75: .75,
100: 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वैरिएबल कन्नै वैश्विक रूप कन्नै टॉगल करी सकदे ओ (डिफ़ॉल्ट ऐ true) ।
एपीआई दा इस्तेमाल करदे होई
हुण जेकर तुस इस गल्लै कन्नै परिचित ओ जे यूटिलिटीज एपीआई किस चाल्ली कम्म करदा ऐ , तां सिक्खो जे अपनी खुद दी कस्टम क्लासें गी किस चाल्ली जोड़ना ते साढ़ी डिफाल्ट यूटिलिटीएं गी संशोधित करना ऐ।
उपयोगिताएं गी जोड़ना
नमीं उपयोगिताएं गी डिफाल्ट $utilitiesनक्शे च इक map-merge. सुनिश्चत करो जे साढ़ी लोड़चदी Sass फाइलें गी _utilities.scssपैह् ले आयात कीता जंदा ऐ, उसदे बाद map-mergeअपनी अतिरिक्त उपयोगिताएं गी जोड़ने आस्तै दा इस्तेमाल करो. मसाल आस्तै, इत्थै cursorत्रै मूल्यें कन्नै इक प्रतिक्रियाशील उपयोगिता गी किस चाल्ली जोड़ना ऐ।
@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,
)
)
);
उपयोगिताएं गी संशोधित करना
ते फंक्शनें कन्नै डिफाल्ट $utilitiesनक्शे च मौजूदा उपयोगिताएं गी संशोधित करो। निचले उदाहरन च, अस उपयोगिताएं च इक अतिरिक्त मूल्य जोड़ने आं । इक शुरूआती कन्नै शुरू करो ते फ्ही निर्दिश्ट करो जे तुस कुस उपयोगिता गी संशोधित करना चांह् दे ओ. उत्थै थमां, यूटिलिटी दे विकल्पें ते मूल्यें गी एक्सेस करने ते संशोधित करने आस्तै नेस्टेड मैप गी लाओ.map-getmap-mergewidthmap-merge"width"map-get
@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%),
),
),
),
)
);
प्रतिक्रियाशील सक्षम करो
तुस इक मौजूदा उपयोगिताएं दे सेट आस्तै प्रतिक्रियाशील वर्गें गी सक्षम करी सकदे ओ जेह् ड़े इसलै डिफाल्ट रूप कन्नै प्रतिक्रियाशील नेईं न. मसाल आस्तै, borderकक्षाएं गी प्रतिक्रियाशील बनाने लेई:
@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 ),
),
)
);
इस कन्नै हून हर ब्रेकपॉइंट दी .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 उपयोगिताएं गी लापता ऐ, जां कुसै होर नामकरण कन्वेंशन दा इस्तेमाल कीता गेदा ऐ? यूटिलिटीज एपीआई दा इस्तेमाल कुसै दित्ती गेदी यूटिलिटी दे नतीजे गी ओवरराइड करने आस्तै कीता जाई सकदा ऐ class-उदाहरण दे तौर पर, .ms-*यूटिलिटीएं दा नांऽ पुराने च बदलने आस्तै .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 ),
),
)
);
उपयोगिताएं गी हटाओ
समूह कुंजी गी सेट करियै कुसै बी डिफाल्ट उपयोगिता गी हटाओ null. मसाल आस्तै, साढ़ी सारी widthउपयोगिताएं गी हटाने आस्तै, इक बनाओ $utilities map-mergeते अंदर जोड़ो "width": null।
@import "bootstrap/scss/functions";
@import "bootstrap/scss/variables";
@import "bootstrap/scss/utilities";
$utilities: map-merge(
$utilities,
(
"width": null
)
);
आरटीएल च उपयोगिता गी हटाओ
कुछ एज केस आरटीएल स्टाइलिंग गी कठिन बनांदे न , जि’यां अरबी च लाइन ब्रेक। इस चाल्लीं उपयोगिताएं गी आरटीएल आउटपुट थमां rtlविकल्प गी सेट करियै छोड़ी दित्ता जाई सकदा ऐ false:
$utilities: (
"word-wrap": (
property: word-wrap word-break,
class: text,
values: (break: break-word),
rtl: false
),
);
आउटपुट: ऐ।
/* rtl:begin:remove */
.text-break {
word-wrap: break-word !important;
word-break: break-word !important;
}
/* rtl:end:remove */
एह् आरटीएल च किश बी आउटपुट नेईं करदा ऐ , आरटीएलसीएसएस removeनियंत्रण निर्देशक दी बदौलत .