थीमिंग बूटस्ट्रैप
आसान थीमिंग ते घटक बदलाव आस्तै वैश्विक शैली प्राथमिकताएं आस्तै साढ़े नमें बिल्ट-इन Sass चर कन्नै बूटस्ट्रैप 4 गी अनुकूलित करो.
परिचे
बूटस्ट्रैप 3 च, थीमिंग गी बड्डे पैमाने पर LESS च चर ओवरराइड, कस्टम CSS, ते इक बक्खरी थीम स्टाइलशीट कन्नै चलाया गेआ हा जेह् ड़ा असें अपनी dist
फाइलें च शामल कीता हा। कुछ मेहनत कन्नै, कोई कोर फाइलें गी छूए दे बगैर बूटस्ट्रैप 3 दे लुक गी पूरी चाल्ली कन्नै नमें सिरेआ डिजाइन करी सकदा हा। बूटस्ट्रैप 4 इक परिचित, पर थोड़ा बक्खरा दृष्टिकोण प्रदान करदा ऐ।
हुण, थीमिंग Sass चर, Sass नक्शे, ते कस्टम CSS द्वारा पूरा कीती जंदी ऐ। कोई होर समर्पित थीम स्टाइलशीट नेईं ऐ; इसदे बजाय, तुस ढाल, छाया, ते होर मते गी जोड़ने आस्तै बिल्ट-इन थीम गी सक्षम करी सकदे ओ.
सस्स
चर, नक्शे, मिक्सिन, ते होर मते दा फायदा लैने आस्तै साढ़ी स्रोत Sass फाइलें दा उपयोग करो। साढ़े बिल्ड च असें ब्राउज़र गोल करने कन्नै मुद्दें गी रोकने आस्तै Sass राउंडिंग परिशुद्धता गी 6 तगर बधाया ऐ (डिफ़ॉल्ट रूप कन्नै एह् 5 ऐ)।
फाइल दा ढांचा
जदूं बी होई सकै, बूटस्ट्रैप दी कोर फाइलें गी संशोधित करने थमां बचो. Sass आस्तै, इसदा मतलब ऐ जे तुंदी अपनी स्टाइलशीट बनाओ जेह् ड़ी बूटस्ट्रैप गी आयात करदी ऐ तां जे तुस इसगी संशोधित ते विस्तार करी सकदे ओ. एह् मनदे होई जे तुस npm जनेह् पैकेज प्रबंधक दा इस्तेमाल करा करदे ओ, तुंदे कोल इक फाइल संरचना होग जेह् ड़ी इस चाल्ली दिक्खदी ऐ:
जेकर तुसें साढ़ी स्रोत फाइलें गी डाउनलोड कीता ऐ ते पैकेज प्रबंधक दा इस्तेमाल नेईं करा करदे ओ तां तुस उस संरचना दे समान किश मैन्युअल रूप कन्नै सेटअप करना चांह् दे ओ, बूटस्ट्रैप दी स्रोत फाइलें गी अपने थमां बक्ख रक्खदे होई.
आयात करना
अपने custom.scss
, च तुस बूटस्ट्रैप दी स्रोत Sass फाइलें गी आयात करगेओ. तुंदे कोल दो विकल्प न: बूटस्ट्रैप दे सारे शामल करो, जां तुसेंगी लोड़चदे हिस्से चुनो. अस बाद आह् ले गी प्रोत्साहित करने आं, हालांकि जागरूक रौह्ओ जे साढ़े घटकें च किश जरूरतें ते निर्भरताएं न। तुसेंगी साढ़े प्लगइन्स आस्तै किश जावास्क्रिप्ट बी शामल करने दी लोड़ होग।
उस सेटअप गी जगह च रखदे होई, तुस अपने custom.scss
. // Optional
तुस जरूरत मताबक खंड दे हेठ बूटस्ट्रैप दे हिस्से गी बी जोड़ना शुरू करी सकदे ओ । bootstrap.scss
अस सुझाऽ दिन्दे आं जे साढ़ी फाइल थमां पूरा आयात ढेर गी अपने शुरूआती बिंदु दे रूप च इस्तेमाल करो.
चर डिफ़ॉल्ट होंदे न
बूटस्ट्रैप 4 च हर Sass चर च !default
फ्लैग शामल ऐ जेह् ड़ा तुसेंगी बूटस्ट्रैप दे स्रोत कोड गी संशोधित कीते बगैर अपने खुद दे Sass च चर दे डिफाल्ट मूल्य गी ओवरराइड करने दी इजाजत दिंदा ऐ. जरूरत मताबक चर गी कापी ते पेस्ट करो, उंदे मूल्यें गी संशोधित करो, ते !default
झंडा हटाओ. जेकर कोई चर पैह् ले थमां गै असाइन कीता गेदा ऐ , तां उसगी बूटस्ट्रैप च डिफाल्ट वैल्यूएं आसेआ दुबारा असाइन नेईं कीता जाग.
तुसें गी बूटस्ट्रैप दे चर दी पूरी सूची च मिलग scss/_variables.scss
. किश चर गी सेट कीता गेदा ऐ null
, एह् चर गुण गी आउटपुट नेईं करदे जदूं तकर एह् तुंदे कॉन्फ़िगरेशन च ओवरराइड नेईं कीते जंदे.
इक गै Sass फाइल दे अंदर चर ओवरराइड डिफाल्ट चर थमां पैह् ले जां बाद च आई सकदे न. लेकन, पूरे Sass फाइलें च ओवरराइड करदे बेल्लै, तुंदी ओवरराइडें गी बूटस्ट्रैप दी Sass फाइलें गी आयात करने शा पैह् ले औना लोड़चदा ऐ.
इत्थै इक उदाहरण ऐ जेह् ड़ा npm दे राहें बूटस्ट्रैप आयात ते संकलन करदे बेल्लै background-color
ते color
आस्तै बदलदा ऐ:<body>
बूटस्ट्रैप च कुसै बी चर आस्तै जरूरी मताबक दोहराओ, जिंदे च हेठ दित्ते गेदे वैश्विक विकल्प बी शामल न.
नक्शे ते लूप
बूटस्ट्रैप 4 च मुट्ठी भर Sass नक्शे, कुंजी मूल्य जोड़े शामल न जेह् ड़े सरबंधत CSS दे परिवारें गी पैदा करना सखल्ला बनांदे न। अस अपने रंगें, ग्रिड ब्रेकपॉइंटें, ते होर मते सारें लेई Sass नक्शे दा इस्तेमाल करदे आं। जि'यां Sass चर, सारे Sass नक्शे च !default
झंडा शामल ऐ ते ओवरराइड ते विस्तार कीता जाई सकदा ऐ।
साढ़े किश सास नक्शे डिफ़ॉल्ट रूप कन्नै खाली च मर्ज कीते गेदे न। एह् कुसै दित्ते गेदे सस नक्शे गी आसानी कन्नै विस्तार करने दी अनुमति देने लेई कीता जंदा ऐ, पर एह्दे कन्नै नक्शे थमां आइटमें गी हटाने गी थोड़ा होर मुश्कल बनाने दी कीमत पर औंदा ऐ ।
नक्शा संशोधित करो
साढ़े $theme-colors
नक्शे च इक मौजूदा रंग गी संशोधित करने आस्तै, अपनी कस्टम Sass फाइल च निम्नलिखित जोड़ो:
नक्शे पर जोड़ो
च इक नमां रंग $theme-colors
जोड़ने लेई, नमीं कुंजी ते मान जोड़ो:
नक्शे से हटा दे
$theme-colors
, जां कुसै होर नक्शे थमां रंगें गी हटाने लेई , इस्तेमाल करो map-remove
. ध्यान रक्खो तुसें गी साढ़ी जरूरतें ते विकल्पें दे बीच इसगी सम्मिलित करना होग:
जरूरी कुंजी
बूटस्ट्रैप Sass नक्शे दे अंदर किश विशिष्ट कुंजियें दी मौजूदगी गी मनदा ऐ जिऱयां अस इन्हें दा इस्तेमाल करदे आं ते अपने आपै गी विस्तार दिंदे आं। जि’यां-जि’यां तुस शामल नक्शे गी अनुकूलित करदे ओ, तुसेंगी त्रुट्टी दा सामना करना पौंदा ऐ जित्थै कुसै विशिष्ट Sass नक्शे दी कुंजी दा इस्तेमाल कीता जा करदा ऐ।
मसाल आस्तै, अस लिंक, बटन, ते फार्म स्टेटें आस्तै primary
, success
, ते danger
कुंजियें दा इस्तेमाल करदे आं। $theme-colors
इनें कुंजियें दे मूल्यें गी बदलने कन्नै कोई मुद्दा नेईं पेश करना चाहिदा, पर उनेंगी हटाने कन्नै Sass संकलन मुद्दे पैदा होई सकदे न. इनें दृष्टांतें च, तुसेंगी उनें मूल्यें दा इस्तेमाल करने आह् ले सस कोड गी संशोधित करने दी लोड़ होग.
फंक्शन करदा ऐ
बूटस्ट्रैप केईं Sass फंक्शनें दा उपयोग करदा ऐ , पर सामान्य थीमिंग आस्तै सिर्फ इक उप-समूह लागू ऐ । रंग नक्शे थमां मूल्य हासल करने आस्तै असें त्रै फंक्शन शामल कीते न:
एह् तुसेंगी इक Sass नक्शे थमां इक रंग चुनने दी अनुमति दिंदे न जि'यां तुस v3 थमां इक रंग चर दा इस्तेमाल किस चाल्ली करगेओ.
नक्शे थमां रंग दा इक खास स्तर हासल करने आस्तै साढ़े कोल इक होर फंक्शन बी ऐ। $theme-colors
नकारात्मक स्तर दे मूल्यें कन्नै रंग हल्का होई जाग, जिसलै के उच्च स्तरें कन्नै काला होई जाग।
व्यवहार च, तुस फंक्शन गी बुलाने ते दो पैरामीटर च पास करगेओ: रंग दा नांऽ $theme-colors
(जियां, प्राथमिक जां खतरा) ते इक संख्यात्मक स्तर।
अतिरिक्त फ़ंक्शनें गी भविष्य च जोड़ेआ जाई सकदा ऐ जां अतिरिक्त सैस नक्शे आस्तै स्तर फ़ंक्शन बनाने आस्तै तुंदे अपने कस्टम सस्स, जां इत्थूं तगर जे इक जेनेरिक बी जेकर तुस होर वर्बोस होना चांह् दे ओ.
रंग विपरीत
बूटस्ट्रैप च अस शामल इक अतिरिक्त फंक्शन ऐ रंग विपरीत फ़ंक्शन, color-yiq
. एह् निर्दिश्ट आधार रंग दे आधार उप्पर इक हल्के ( ) जां गहरे ( ) विपरीत रंग गी स्वतः वापस करने आस्तै YIQ रंग स्पेस दा उपयोग करदा ऐ. एह् फंक्शन खास करियै मिक्सिन जां लूप आस्तै उपयोगी ऐ जित्थै तुस मते सारे वर्गें गी पैदा करा करदे ओ.#fff
#111
मसाल आस्तै, साढ़े $theme-colors
नक्शे थमां रंग नमूनें गी पैदा करने आस्तै:
इसदा इस्तेमाल इक बारी दी कंट्रास्ट जरूरतें लेई बी कीता जाई सकदा ऐ:
तुस साढ़े रंग नक्शा फंक्शनें कन्नै इक आधार रंग बी निर्दिश्ट करी सकदे ओ:
एसवीजी से बच जाओ
अस escape-svg
फंक्शन दा इस्तेमाल करदे आं <
, >
ते #
एसवीजी बैकग्राउंड छवियें आस्तै वर्णें गी बचने आस्तै। आईई च पृष्ठभूमि छवियें गी ठीक ढंगै कन्नै रेंडर करने आस्तै इनें वर्णें गी बचने दी लोड़ ऐ।
जोड़ना ते घटाना फंक्शन
अस सीएसएस फंक्शन गी लपेटने लेई add
ते फंक्शनें दा इस्तेमाल करदे आं । इनें फंक्शनें दा प्राथमिक मकसद ऐ जे जिसलै इक "यूनिटलेस" मूल्य गी इक अभिव्यक्ति च पास कीता जंदा ऐ तां त्रुटिएं थमां बचना ऐ। जियां अभिव्यक्ति गणितीय रूप कन्नै सही होने दे बावजूद, सारे ब्राउज़रें च इक त्रुटि वापस करग.subtract
calc
0
calc
calc(10px - 0)
उदाहरण जित्थै कैल्क मान्य ऐ :
उदाहरण जित्थै कैल्क अमान्य ऐ :
सस्स विकल्प
साढ़ी बिल्ट-इन कस्टम चर फाइल कन्नै बूटस्ट्रैप 4 गी अनुकूलित करो ते नमें $enable-*
Sass चर कन्नै वैश्विक CSS प्राथमिकताएं गी आसानी कन्नै टॉगल करो। इक चर दे मूल्य गी ओवरराइड करो ते npm run test
जरूरत मताबक कन्नै दुबारा संकलित करो.
scss/_variables.scss
तुस बूटस्ट्रैप दी फाइल च कुंजी वैश्विक विकल्पें आस्तै इनें चर गी ढूँढी ते अनुकूलित करी सकदे ओ .
चर करने आला | मूल्यें दा | ब्यौरा |
---|---|---|
$spacer |
1rem (डिफ़ॉल्ट), जां कोई बी मान > 0 |
साढ़ी स्पेसर उपयोगिताएं गी प्रोग्रामेटिक रूप कन्नै पैदा करने आस्तै डिफाल्ट स्पेसर मूल्य निर्दिश्ट करदा ऐ . |
$enable-rounded |
true (डिफ़ॉल्ट) याfalse |
border-radius बक्ख-बक्ख घटकें पर पूर्व- निर्धारित शैलियें गी सक्षम बनांदा ऐ। |
$enable-shadows |
true या false (डिफ़ॉल्ट) ऐ। |
box-shadow बक्ख-बक्ख घटकें पर पूर्व- निर्धारित शैलियें गी सक्षम बनांदा ऐ। |
$enable-gradients |
true या false (डिफ़ॉल्ट) ऐ। |
background-image बक्ख-बक्ख घटकें पर शैलियें दे राहें पूर्व-निर्धारित ढाल गी सक्षम करदा ऐ। |
$enable-transitions |
true (डिफ़ॉल्ट) याfalse |
transition बक्ख-बक्ख घटकें पर पूर्व- परिभाषित एस गी सक्षम करदा ऐ। |
$enable-prefers-reduced-motion-media-query |
true (डिफ़ॉल्ट) याfalse |
prefers-reduced-motion मीडिया क्वेरी गी सक्षम करदा ऐ , जेह् ड़ी बरतूनी दे ब्राउज़र/ऑपरेटिंग सिस्टम प्राथमिकताएं दे आधार उप्पर किश एनीमेशनें/संक्रमणें गी दबांदी ऐ। |
$enable-hover-media-query |
true या false (डिफ़ॉल्ट) ऐ। |
पदावनत कर दी |
$enable-grid-classes |
true (डिफ़ॉल्ट) याfalse |
ग्रिड सिस्टम आस्तै CSS वर्गें दी जनरेशन गी सक्षम बनांदा ऐ (जियां, .container , .row , .col-md-1 , बगैरा)। |
$enable-caret |
true (डिफ़ॉल्ट) याfalse |
पर छद्म तत्व कैरेट गी सक्षम करदा ऐ .dropdown-toggle . |
$enable-pointer-cursor-for-buttons |
true (डिफ़ॉल्ट) याfalse |
गैर-अक्षम बटन तत्वें च “हत्थ” कर्सर जोड़ो। |
$enable-print-styles |
true (डिफ़ॉल्ट) याfalse |
छपाई गी अनुकूल बनाने लेई शैलियें गी सक्षम बनांदा ऐ। |
$enable-responsive-font-sizes |
true या false (डिफ़ॉल्ट) ऐ। |
उत्तरदायी फॉन्ट आकारें गी सक्षम करदा ऐ . |
$enable-validation-icons |
true (डिफ़ॉल्ट) याfalse |
background-image सत्यापन राज्यें लेई पाठ इनपुटें ते किश कस्टम फार्में दे अंदर आइकनें गी सक्षम करदा ऐ. |
$enable-deprecation-messages |
true या false (डिफ़ॉल्ट) ऐ। |
true च कुसै बी डिप्रीकेट मिक्सिन ते फंक्शनें दा इस्तेमाल करदे बेल्लै चेतावनी दस्सने आस्तै सेट करो जेह् ड़े च हटाने दी योजना ऐ v5 . |
रंग
बूटस्ट्रैप दे बक्ख-बक्ख घटकें ते उपयोगिताएं च मते सारे इक सस्स नक्शे च परिभाशत रंगें दी श्रृंखला दे माध्यम कन्नै बनाया गेदा ऐ। इस नक्शे गी सस्स च लूप कीता जाई सकदा ऐ तां जे नियम सेट दी इक श्रृंखला जल्दी पैदा कीती जाई सकै।
सारे रंग
बूटस्ट्रैप 4 च उपलब्ध सारे रंग, Sass चर ते scss/_variables.scss
फाइल च इक Sass मैप दे रूप च उपलब्ध न। इसगी बाद दे मामूली रिलीज च विस्तार कीता जाग तां जे अतिरिक्त शेड्स जोड़ेआ जाई सकै, जिऱयां ग्रेस्केल पैलेट जिसी अस पैह् ले थमां गै शामल करदे आं.
इत्थें तुस अपने सस्स च इन्हें दा इस्तेमाल किस चाल्ली करी सकदे ओ:
सेटिंगcolor
ते background-color
. _
भविक्ख च, अस हर रंग दे शेड्स आस्तै Sass नक्शे ते चर उपलब्ध करोआने दा लक्ष्य रखगे जि'यां अस हेठ दित्ते गेदे ग्रेस्केल रंगें कन्नै कीता ऐ।
थीम रंग
अस रंग योजनाएं गी पैदा करने आस्तै इक निक्के रंग पैलेट बनाने आस्तै सारे रंगें दा इक उप-समूह दा उपयोग करदे आं , जेह् ड़ा सैस चर दे रूप च बी उपलब्ध ऐ ते बूटस्ट्रैप दी scss/_variables.scss
फाइल च इक सस मैप ऐ ।
ग्रेज़ ने दी
ग्रे चरें दा इक विस्तृत सेट ते scss/_variables.scss
अपने प्रोजेक्ट भर च ग्रे दे लगातार शेड्स आस्तै इक Sass मैप च। ध्यान रक्खो जे एह् "कूल ग्रे" न, जेह्ड़े तटस्थ ग्रे दी बजाय, सूक्ष्म नीले रंग दी ओर झुकदे न।
दे अंदर scss/_variables.scss
, तुसें गी बूटस्ट्रैप दे रंग चर ते Sass नक्शा मिलग। $colors
सास नक्शे दा इक उदाहरण दित्ता गेदा ऐ:
नक्शे दे अंदर मूल्यें गी जोड़ो, हटाओ जां संशोधित करो तां जे अपडेट कीता जाई सकै जे उंदा इस्तेमाल मते सारे होर घटकें च कीता जंदा ऐ। दुर्भाग्यवश इस समें, हर घटक इस सस नक्शे दा उपयोग नेईं करदा ऐ। भावी अपडेट इस पर सुधार करने दी कोशश करग। तदूं तकर, ${color}
चर ते इस सस मैप दा इस्तेमाल करने दी योजना बनाओ।
घटक ऐ
बूटस्ट्रैप दे मते सारे घटक ते उपयोगिताएं गी @each
लूप कन्नै बनाया गेदा ऐ जेह् ड़ा इक सस मैप उप्पर पुनरावृत्ति करदा ऐ। एह् खास करियै साढ़े आसेआ इक घटक दे $theme-colors
वेरिएंट पैदा करने ते हर ब्रेकपॉइंट आस्तै प्रतिक्रियाशील वेरिएंट बनाने लेई मददगार ऐ । जि’यां-जि’यां तुस इनें Sass नक्शे गी अनुकूलित करदे ओ ते दुबारा संकलित करदे ओ, तुस अपने आप गै अपने बदलावें गी इनें लूपें च परिलक्षित दिक्खगे।
संशोधक करने वाले
बूटस्ट्रैप दे मते सारे घटक बेस-मोडिफायर क्लास दृष्टिकोण कन्नै बने दे न। इसदा मतलब ऐ जे स्टाइलिंग दा बड्डा हिस्सा इक आधार वर्ग (जियां, .btn
) च शामल ऐ जिसलै के शैली च बदलाव संशोधक वर्गें (जियां, .btn-danger
) च सीमित ऐ । एह् संशोधक वर्गें गी $theme-colors
नक्शे थमां बनाई गेदी ऐ तां जे साढ़े संशोधक वर्गें दी संख्या ते नांऽ गी अनुकूलित कीता जाई सकै।
घटक ते अपनी सारी बैकग्राउंड यूटिलिटीएं $theme-colors
गी संशोधक पैदा करने आस्तै अस किस चाल्ली नक्शे उप्पर लूप करदे आं इसदे दो उदाहरण दित्ते गेदे न ।.alert
.bg-*
जवाबदेही
एह् सस लूप रंग नक्शे तगर सीमित नेईं न, एह् बी। तुस अपने घटकें जां उपयोगिताएं दे प्रतिक्रियाशील बदलाव बी पैदा करी सकदे ओ। उदाहरण दे तौर पर साढ़ी प्रतिक्रियाशील पाठ संरेखण उपयोगिताएं गी लैओ जित्थै अस इक मीडिया क्वेरी शामल कन्नै सास मैप @each
आस्तै इक लूप गी मिक्स करदे आं।$grid-breakpoints
क्या तुसेंगी अपने , संशोधित करने दी लोड़ होग $grid-breakpoints
, तुंदे बदलाव उस नक्शे उप्पर पुनरावृत्ति करने आह् ले सब्भै लूपें पर लागू होङन.
सीएसएस चर ऐ
बूटस्ट्रैप 4 च अपने संकलित CSS च लगभग दो दर्जन CSS कस्टम गुण (चर) शामल न। एह् तुंदे ब्राउज़र दे इंस्पेक्टर, इक कोड सैंडबॉक्स, जां सामान्य प्रोटोटाइपिंग च कम्म करदे बेल्लै साढ़े थीम रंग, ब्रेकपॉइंट, ते प्राथमिक फॉन्ट स्टैक जनेह् आमतौर पर इस्तेमाल कीते जाने आह् ले मूल्यें तगर सखलाई प्रदान करदे न।
उपलब्ध चर ऐ
इत्थें अस शामल चर न (ध्यान देओ जे दी :root
लोड़ ऐ)। ओह् साढ़ी _root.scss
फाइल च स्थित न।
उदाहरण दे
CSS चर Sass दे चर दे समान लचीलापन प्रदान करदे न, पर ब्राउज़र गी परोसने शा पैह् ले संकलन दी लोड़ दे बगैर। मसाल आस्तै, इत्थै अस अपने पेज दे फॉन्ट ते लिंक शैलियें गी CSS चर कन्नै रिसेट करा करदे आं।
ब्रेकपॉइंट चर
जदके अस मूल रूप कन्नै अपने CSS चर च ब्रेकपॉइंट शामल कीते हे (जियां, --breakpoint-md
), एह् मीडिया क्वेरी च समर्थत नेईं ऐ , पर एह् अजें बी मीडिया क्वेरी च नियम सेट दे अंदर इस्तेमाल कीता जाई सकदा ऐ. एह् ब्रेकपॉइंट चर पिछड़े संगतता आस्तै संकलित सीएसएस च रौंह् दे न इस गल्लै गी दिक्खदे होई जे एह् जावास्क्रिप्ट आसेआ बरतेआ जाई सकदा ऐ। स्पेक्स च होर जानने लेई .
जेह् ड़ा समर्थत नेईं ऐ इसदा इक उदाहरण इत्थै दित्ता गेदा ऐ:
ते इत्थें इक उदाहरण ऐ जेह्ड़ा समर्थन कीता गेदा ऐ: