थीमिंग बूटस्ट्रैप
आसान थीमिंग ते घटक बदलाव आस्तै वैश्विक शैली प्राथमिकताएं आस्तै साढ़े नमें बिल्ट-इन Sass चर कन्नै बूटस्ट्रैप 4 गी अनुकूलित करो.
बूटस्ट्रैप 3 च, थीमिंग गी बड्डे पैमाने पर LESS च चर ओवरराइड, कस्टम CSS, ते इक बक्खरी थीम स्टाइलशीट कन्नै चलाया गेआ हा जेह् ड़ा असें अपनी dist
फाइलें च शामल कीता हा। कुछ मेहनत कन्नै, कोई कोर फाइलें गी छूए दे बगैर बूटस्ट्रैप 3 दे लुक गी पूरी चाल्ली कन्नै नमें सिरेआ डिजाइन करी सकदा हा। बूटस्ट्रैप 4 इक परिचित, पर थोड़ा बक्खरा दृष्टिकोण प्रदान करदा ऐ।
हुण, थीमिंग Sass चर, Sass नक्शे, ते कस्टम CSS द्वारा पूरा कीती जंदी ऐ। कोई होर समर्पित थीम स्टाइलशीट नेईं ऐ; इसदे बजाय, तुस ढाल, छाया, ते होर मते गी जोड़ने आस्तै बिल्ट-इन थीम गी सक्षम करी सकदे ओ.
चर, नक्शे, मिक्सिन, ते होर मते दा फायदा लैने आस्तै साढ़ी स्रोत Sass फाइलें दा उपयोग करो।
जदूं बी होई सकै, बूटस्ट्रैप दी कोर फाइलें गी संशोधित करने थमां बचो. सस्स आस्तै, इसदा मतलब ऐ जे अपनी खुद दी स्टाइलशीट बनाओ जेह् ड़ी बूटस्ट्रैप गी आयात करदी ऐ तां जे तुस इसगी संशोधित ते विस्तार करी सकदे ओ. एह् मनदे होई जे तुस npm जनेह् पैकेज प्रबंधक दा इस्तेमाल करा करदे ओ, तुंदे कोल इक फाइल संरचना होग जेह् ड़ी इस चाल्ली दिक्खदी ऐ:
जेकर तुसें साढ़ी स्रोत फाइलें गी डाउनलोड कीता ऐ ते पैकेज प्रबंधक दा इस्तेमाल नेईं करा करदे ओ तां तुस उस संरचना दे समान किश मैन्युअल रूप कन्नै सेटअप करना चांह् दे ओ, बूटस्ट्रैप दी स्रोत फाइलें गी अपने थमां बक्ख रक्खदे होई.
अपने custom.scss
, च तुस बूटस्ट्रैप दी स्रोत Sass फाइलें गी आयात करगेओ. तुंदे कोल दो विकल्प न: बूटस्ट्रैप दे सारे गी शामल करो, जां तुसेंगी लोड़चदे हिस्से चुनो. अस बाद आह् ली गी प्रोत्साहित करने आं , हालांकि इस गल्लै दा ध्यान रक्खो जे साढ़े घटकें च किश जरूरतें ते निर्भरताएं न । तुसेंगी साढ़े प्लगइन्स आस्तै किश जावास्क्रिप्ट बी शामल करने दी लोड़ होग।
उस सेटअप गी जगह च रखदे होई, तुस अपने custom.scss
. // Optional
तुस जरूरत मताबक खंड दे हेठ बूटस्ट्रैप दे हिस्से गी बी जोड़ना शुरू करी सकदे ओ । bootstrap.scss
अस सुझाऽ दिन्दे आं जे साढ़ी फाइल थमां पूरा आयात ढेर गी अपने शुरूआती बिंदु दे रूप च इस्तेमाल करो.
बूटस्ट्रैप 4 च हर Sass चर च !default
फ्लैग शामल ऐ जेह् ड़ा तुसेंगी बूटस्ट्रैप दे स्रोत कोड गी संशोधित कीते बगैर अपने खुद दे Sass च चर दे डिफाल्ट वैल्यू गी ओवरराइड करने दी इजाजत दिंदा ऐ. जरूरत मताबक चर गी कापी ते पेस्ट करो, उंदे मूल्यें गी संशोधित करो, ते !default
झंडा हटाओ. जेकर कोई चर पैह् ले थमां गै असाइन कीता गेदा ऐ , तां उसगी बूटस्ट्रैप च डिफाल्ट वैल्यूएं आसेआ दुबारा असाइन नेईं कीता जाग.
इक गै 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
नक्शे थमां रंग नमूनें गी पैदा करने आस्तै:
इसदा इस्तेमाल इक बारी दी कंट्रास्ट जरूरतें लेई बी कीता जाई सकदा ऐ:
तुस साढ़े रंग नक्शा फंक्शनें कन्नै इक आधार रंग बी निर्दिश्ट करी सकदे ओ:
साढ़ी बिल्ट-इन कस्टम चर फाइल कन्नै बूटस्ट्रैप 4 गी अनुकूलित करो ते नमें $enable-*
Sass चर कन्नै वैश्विक CSS प्राथमिकताएं गी आसानी कन्नै टॉगल करो। इक चर दे मूल्य गी ओवरराइड करो ते npm run test
जरूरत मताबक कन्नै दुबारा संकलित करो.
तुस साढ़ी _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-hover-media-query |
true या false (डिफ़ॉल्ट) ऐ। |
पदावनत कर दी |
$enable-grid-classes |
true (डिफ़ॉल्ट) याfalse |
ग्रिड सिस्टम आस्तै CSS वर्गें दी जनरेशन गी सक्षम बनांदा ऐ (जियां, .container , .row , .col-md-1 , बगैरा)। |
$enable-caret |
true (डिफ़ॉल्ट) याfalse |
पर छद्म तत्व कैरेट गी सक्षम करदा ऐ .dropdown-toggle . |
$enable-print-styles |
true (डिफ़ॉल्ट) याfalse |
छपाई गी अनुकूल बनाने लेई शैलियें गी सक्षम बनांदा ऐ। |
बूटस्ट्रैप दे बक्ख-बक्ख घटकें ते उपयोगिताएं च मते सारे इक सस्स नक्शे च परिभाशत रंगें दी श्रृंखला दे माध्यम कन्नै बनाया गेदा ऐ। इस नक्शे गी सस्स च लूप कीता जाई सकदा ऐ तां जे नियम सेट दी इक श्रृंखला जल्दी पैदा कीती जाई सकै।
बूटस्ट्रैप 4 च उपलब्ध सारे रंग, साढ़ी scss/_variables.scss
फाइल च Sass चर ते इक Sass मैप दे रूप च उपलब्ध न। इसगी बाद दे मामूली रिलीज च विस्तार कीता जाग तां जे अतिरिक्त शेड्स जोड़ेआ जाई सकै, जिऱयां ग्रेस्केल पैलेट जिसी अस पैह् ले थमां गै शामल करदे आं.
इत्थें तुस अपने सस्स च इन्हें दा इस्तेमाल किस चाल्ली करी सकदे ओ:
सेटिंगcolor
ते background-color
. _
भविक्ख च, अस हर रंग दे शेड्स आस्तै Sass नक्शे ते चर उपलब्ध करोआने दा लक्ष्य रखगे जि'यां अस हेठ दित्ते गेदे ग्रेस्केल रंगें कन्नै कीता ऐ।
रंग योजनाएं गी पैदा करने आस्तै इक निक्के रंग पैलेट बनाने आस्तै अस सारे रंगें दा इक उप-समूह दा उपयोग करदे आं , जेह् ड़ा सास चर दे रूप च बी उपलब्ध ऐ ते साढ़ी scss/_variables.scss
फाइल च इक सस मैप ऐ ।
ग्रे चरें दा इक विस्तृत सेट ते scss/_variables.scss
अपने प्रोजेक्ट भर च ग्रे दे लगातार शेड्स आस्तै इक Sass मैप च।
दे अंदर _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 चर कन्नै रिसेट करा करदे आं।
तुस अपनी मीडिया क्वेरी च साढ़े ब्रेकपॉइंट चर दा बी इस्तेमाल करी सकदे ओ: