बेसिक सीएसएस के सिद्धांत सीखत घरी मॉड्यूलर, दोबारा इस्तेमाल करे लायक आ वर्णनात्मक शैली लिखे के सिखावल जाला ताकि रखरखाव के क्षमता सुनिश्चित कइल जा सके। बाकिर जब डेवलपर लोग वास्तविक दुनिया के एप्लीकेशन सभ से जुड़ल हो जाला तब अक्सर यूआई फीचर सभ के जोड़ल असंभव लागे ला बिना स्टाइल सभ के अनचाहा इलाका में लीक भइल। ई मुद्दा अक्सर एगो आत्म-पूर्ति वाला लूप में बर्फ के गोला बन जाला; जवन शैली सैद्धांतिक रूप से कवनो तत्व भा वर्ग के दायरा वाला होखे, ओहिजा देखावल शुरू हो जाला जहाँ ऊ ना होखे. एह से डेवलपर के लीक भइल स्टाइल सभ के ओवरराइड करे खातिर अउरी बिसेस चयनकर्ता बनावे के पड़े ला, जे फिर गलती से ग्लोबल स्टाइल सभ के ओवरराइड क देलें इत्यादि। कठोर वर्ग नाँव के रूढ़ि, जइसे कि बीईएम, एह मुद्दा के एगो सैद्धांतिक समाधान हवे। BEM (Block, Element, Modifier) ​​मेथडोलॉजी CSS फाइल सभ के भीतर दोबारा इस्तेमाल आ संरचना सुनिश्चित करे खातिर CSS क्लास सभ के नाँव देवे के एगो व्यवस्थित तरीका हवे। एह तरह के नाँव देवे के रूढ़ि सभ तत्व आ इनहन के स्थिति के वर्णन करे खातिर डोमेन भाषा के इस्तेमाल क के संज्ञानात्मक भार के कम क सके लीं आ अगर सही तरीका से लागू कइल जाय तब बड़हन एप्लीकेशन सभ खातिर स्टाइल सभ के रखरखाव आसान हो सके ला। बाकिर असल दुनिया में ई हमेशा अइसन ना होखे. प्राथमिकता बदल सकेला आ बदलाव का साथे लागू कइल असंगत हो जाला. एचटीएमएल संरचना में छोट-छोट बदलाव खातिर कई गो सीएसएस क्लास के नाँव के संशोधन के जरूरत पड़ सके ला। बेहद इंटरैक्टिव फ्रंट-एंड एप्लीकेशन सभ के साथ, BEM पैटर्न के पालन करे वाला क्लास के नाँव लंबा आ बेढंगा हो सके ला (जइसे कि, app-user-overview__status--is-authenticating), आ नाँव देवे के नियम सभ के पूरा तरीका से पालन ना कइला से सिस्टम के संरचना टूट जाला, जेकरा से एकर फायदा नकारल जाला। एह चुनौतियन के देखत कवनो आश्चर्य के बात नइखे कि डेवलपर लोग फ्रेमवर्क के ओर रुख कइले बा, टेलविंड सबसे लोकप्रिय सीएसएस फ्रेमवर्क बा. शैली सभ के बीच जवन अजेय बिसेसता के लड़ाई नियर लउके ला, ओकरा से लड़े के कोसिस करे के बजाय, सीएसएस कैस्केड से हार मान लिहल आ अइसन टूल सभ के इस्तेमाल कइल आसान बा जे पूरा तरीका से अलगाव के गारंटी देलें। डेवलपर यूटिलिटीज पर अधिका झुकल बाड़े हमनी के कइसे पता चली कि कुछ डेवलपर कैस्केड स्टाइल से बचे के इच्छुक बाड़े? ई “आधुनिक” फ्रंट-एंड टूलिंग के उदय हवे — जइसे कि CSS-in-JS फ्रेमवर्क — जवन खास तौर पर ओह उद्देश्य खातिर डिजाइन कइल गइल बा। अलग-थलग शैली सभ के साथ काम कइल जे बिसेस घटक सभ के कस के दायरा वाला होखे, ताजा हवा के साँस नियर लाग सके ला। ई चीजन के नाँव बतावे के जरूरत के दूर क देला — अबहिन ले सभसे नफरत आ समय माने वाला फ्रंट-एंड काम सभ में से एक — आ डेवलपर लोग के CSS बिरासत के फायदा के पूरा तरीका से समझले भा फायदा उठवले बिना उत्पादक होखे के इजाजत देला। लेकिन सीएसएस कैस्केड के खाई में डालला के आपन समस्या भी आवेला। उदाहरण खातिर, जावास्क्रिप्ट में स्टाइल के रचना करे खातिर भारी बिल्ड कॉन्फिगरेशन के जरूरत होला आ अक्सर स्टाइल सभ के कंपोनेंट मार्कअप भा एचटीएमएल के साथ अजीब तरीका से घुलमिल जाए के कारण होला। ध्यान से बिचार कइल नाँव देवे के रूढ़ि सभ के बजाय, हमनी के बिल्ड टूल सभ के हमनी खातिर चयनकर्ता आ पहचानकर्ता सभ के ऑटोजेनेरेट करे के अनुमति देनी जा (जइसे कि, .jsx-3130221066), डेवलपर लोग के अपना आप में आ अपना आप में एगो अउरी छद्म भाषा के साथ चले के पड़े ला। (जइसे कि राउर सभ घटक के useEffects का करेला ई समझे के संज्ञानात्मक भार पहिले से पर्याप्त ना रहे!) क्लास सभ के नाँव देवे के काम के अउरी एब्स्ट्रैक्ट करे के मतलब ई होला कि बेसिक डिबगिंग अक्सर बिकास खातिर संकलित बिसेस एप्लीकेशन वर्जन सभ तक ले सीमित होला, ना कि नेटिव ब्राउजर फीचर सभ के इस्तेमाल जे लाइव डिबगिंग के सपोर्ट करे लें, जइसे कि डेवलपर टूल। लगभग अइसन बा कि हमनी के ओह टूल के डिबग करे के जरूरत बा जवना के हमनी के इस्तेमाल करत बानी जा कि वेब जवन पहिले से उपलब्ध करावत बा ओकरा के अमूर्त कर सके — ई सब मानक सीएसएस लिखे के “दर्द” से भागे खातिर. गनीमत बा कि आधुनिक सीएसएस फीचर ना खाली मानक सीएसएस लिखे के अधिका लचीला बनावेला बलुक हमनी जइसन डेवलपर लोग के कैस्केड के प्रबंधन करे आ हमनी खातिर काम करे खातिर बहुते अधिका शक्ति देला. CSS Cascade Layers एकर एगो बढ़िया उदाहरण बा, लेकिन एगो अउरी फीचर बा जवना पर आश्चर्यजनक रूप से ध्यान ना दिहल जाला — हालांकि अब ई बदल रहल बा काहे कि हाल में ई बेसलाइन कम्पेटिबल हो गइल बा। सीएसएस @स्कोप एट-रूल के बा हम CSS @scope at-rule के ओह तरह के स्टाइल-लीक-प्रेरित चिंता के संभावित इलाज मानत बानी जवना के हमनी का कवर कइले बानी जा, जवन हमनी के अमूर्तता आ अतिरिक्त बिल्ड टूलिंग खातिर देशी वेब फायदा से समझौता करे खातिर मजबूर ना करे. “@scope CSS at-rule रउआँ के विशिष्ट DOM सबट्री में तत्वन के चयन करे में सक्षम बनावेला, बिना बेसी-विशिष्ट चयनकर्ता लिखले बिना, आ बिना अपना चयनकर्ता के DOM संरचना से बहुत कस के जोड़ले बिना, तत्वन के ठीक से लक्षित करे में सक्षम बनावेला।”— MDN

दुसरा शब्द में कहल जाय त हमनी के बिरासत, झरना, भा चिंता के मूलभूत अलगाव तक के बलिदान कइले बिना बिसेस दृष्टांत में अलग-थलग शैली सभ के साथ काम कर सके लींजवन फ्रंट-एंड डेवलपमेंट के एगो लंबा समय से चलत मार्गदर्शक सिद्धांत रहल बा। एकरा अलावे एकरा में बेहतरीन ब्राउज़र कवरेज बा। दरअसल, फायरफॉक्स 146 दिसंबर में @scope खातिर सपोर्ट जोड़लस, जेकरा चलते ई पहिली बेर बेसलाइन कम्पेटिबल हो गइल। इहाँ BEM पैटर्न बनाम @scope नियम के इस्तेमाल करे वाला बटन के बीच एगो साधारण तुलना कइल गइल बा: के बा

You May Also Like

Enjoyed This Article?

Get weekly tips on growing your audience and monetizing your content — straight to your inbox.

No spam. Join 138,000+ creators. Unsubscribe anytime.

Create Your Free Bio Page

Join 138,000+ creators on Seemless.

Get Started Free