LEM जैसी नेस्टेबल स्टाइल शीट भाषा का उपयोग करने से BEM बेहतर क्या है?


27

मेरा एक सहकर्मी एक ऐसी परियोजना में सीएसएस के लिए BEM ( ब्लॉक एलीमेंट मॉडिफ़ायर ) विधि पर जोर दे रहा है, जिसमें वह हेलिंग कर रहा है, और मैं अभी यह समझ नहीं पा रहा हूं कि हम इसे सालों से लिख रहे LESS CSS से बेहतर बनाते हैं।

वह "उच्च प्रदर्शन" का दावा करता है, लेकिन मैं कल्पना नहीं कर सकता कि इस कोड की दुकान में हमारे द्वारा लिखे गए वेब ऐप्स के प्रकारों के लिए भी प्रदर्शन कितना महत्वपूर्ण हो सकता है। हम यहां ट्विटर या फेसबुक नहीं बना रहे हैं। मुझे बहुत आश्चर्य होगा अगर हमारे उच्चतम उपयोग वाले ऐप में महीने में 10000 से अधिक हिट हैं , और अधिकांश 1000 से कम हैं।

वह "पठनीयता" और "पुन: उपयोग" का दावा करता है, लेकिन LESS पहले से ही मेरी राय में बहुत बेहतर करता है । और मुझे लगता है कि बीईएम इन सुपर-लॉन्ग क्लास नामों के लिए समर्पित दर्जनों अतिरिक्त पात्रों के साथ मार्कअप को इतनी बुरी तरह से प्रबंधित करता है कि यह मौलिक रूप से पठनीयता को दर्शाता है।

उनका दावा है "नेस्टेड सीएसएस एक विरोधी पैटर्न है।" "एंटी-पैटर्न" का क्या मतलब है , और क्यों नेस्टेड सीएसएस खराब है?

उनका दावा है कि "हर कोई बीईएम का उपयोग करने की ओर बढ़ रहा है, इसलिए हमें भी चाहिए।" मेरा काउंटर है "यदि हर कोई एक पुल से कूद रहा था, तो क्या आप इसका अनुसरण करेंगे?" लेकिन वह अभी भी इस बारे में पूरी तरह से अडिग हैं।

क्या कोई कृपया विस्तार से बता सकता है कि BEM LESS से बेहतर क्या है? मेरा सहकर्मी मुझे समझाने में पूरी तरह से विफल है, लेकिन मुझे नहीं पता कि मेरे पास कोई विकल्प है या नहीं। मैं वास्तव में बीईएम की सराहना करने में सक्षम होना चाहता हूं, क्योंकि वह इसे गंभीरता से स्वीकार करना चाहता है।


1
BEM और LESS विभिन्न उद्देश्यों की पूर्ति करते हैं। मैं बीईएम और लेस दोनों का उपयोग करता हूं।
zzzzBov

4
ध्यान दें कि बीईएम मुख्य रूप से सीएसएस के बारे में नहीं है - यह आपके डिजाइन में आवर्ती समझाया पैटर्न की पहचान करने और एक केंद्रीय स्थान में उस ब्लॉक (व्यवहार, टेम्पलेट, शैलियों) के लिए आवश्यक सब कुछ इकट्ठा करने के बारे में है। यहां तक ​​कि अगर केवल सीएसएस तक ही सीमित है, तो BEM अभी भी आपकी शैलियों को व्यवस्थित करने और मज़बूती से नाम की गड़बड़ी को रोकने का एक शानदार तरीका है। यह LESS या SASS जैसे प्रीप्रोसेसरों से पूरी तरह से स्वतंत्र है, जो सादे सीएसएस की तुलना में अधिक उत्पादक स्टाइलिंग भाषाएं हैं क्योंकि वे मैक्रोज़ और चर और शॉर्टहैंड नोटेशन और सभी प्रकार की अच्छी विशेषताओं की पेशकश करते हैं। LESS = जीत, BEM = जीत, लेकिन LESS × BEM = win B!
आमोन

जवाबों:


29

मेरा एक सहकर्मी एक ऐसी परियोजना में सीएसएस के लिए BEM (ब्लॉक एलीमेंट मॉडिफ़ायर) विधि पर जोर दे रहा है, जिसमें वह हेलिंग कर रहा है, और मैं अभी यह समझ नहीं पा रहा हूं कि हम इसे सालों से लिख रहे LESS CSS से बेहतर बनाते हैं।

बीईएम एक सीएसएस पद्धति है। अन्य में OOCSS और SMACSS शामिल हैं। इन पद्धतियों का उपयोग मॉड्यूलर, एक्स्टेंसिबल, पुन: प्रयोज्य कोड लिखने के लिए किया जाता है जो बड़े पैमाने पर अच्छा प्रदर्शन करता है।

LESS एक सीएसएस प्रीप्रोसेसर है। अन्य लोगों में सास और स्टाइलस शामिल हैं। इन प्रीप्रोसेसरों का उपयोग अपने संबंधित स्रोतों को विस्तारित सीएसएस में बदलने के लिए किया जाता है।

बीईएम और लेस एक दूसरे से "बेहतर" होने के रूप में तुलनीय नहीं हैं, वे ऐसे उपकरण हैं जो विभिन्न उद्देश्यों की सेवा करते हैं। आप यह नहीं कहेंगे कि किसी विशेष समस्या को हल करने के लिए उपयोगिता पर विचार करने के अलावा, एक पेचकश हथौड़ा से बेहतर है।

वह "उच्च प्रदर्शन" का दावा करता है ...

प्रदर्शन को शास्त्रीय सीएसएस शैली के बीच मापा जाना चाहिए:

.widget .header

और BEM शैली:

.widget__header

लेकिन आम तौर पर बोलते हुए, CSS चयनकर्ता प्रदर्शन एक अड़चन नहीं है, और इसे अनुकूलित करने की आवश्यकता नहीं है।

BEM "प्रदर्शन" आमतौर पर एक डेवलपर के प्रदर्शन लेखन कोड के संबंध में होता है। यदि BEM पद्धति का लगातार और सही तरीके से उपयोग किया जाता है, तो डेवलपर्स के समूहों के लिए शैली टकराव के बिना अलग-अलग मॉड्यूल को एक साथ लेखक के लिए आसान है।

वह "पठनीयता" और "पुनः उपयोग" का दावा करता है ...

मुझे नहीं पता कि मैं एक नए डेवलपर को बताऊंगा कि BEM अधिक पठनीय है। मैं कह सकता हूं कि यह कक्षाओं के अर्थ और संरचना के रूप में कुछ अच्छी तरह से परिभाषित दिशानिर्देश प्रदान करता है।

जैसे कोई क्लास देख रहा हो

.foo--bar__baz

मुझे बताता है कि एक fooब्लॉक है जो barराज्य में है, और इसमें एक bazतत्व शामिल है ।

मैं बिल्कुल कहूंगा कि बीईएम एक शास्त्रीय मॉडल की तुलना में अधिक पुन: प्रयोज्य है।

यदि दो डेवलपर्स ब्लॉक ( fooऔर bar) बनाते हैं , और उन दोनों ब्लॉकों में हेडिंग होती है, तो वे बिना किसी टकराव के टकराव की चिंता किए अलग-अलग संदर्भों में अपने ब्लॉक का फिर से उपयोग कर सकते हैं।

ऐसा इसलिए है, क्योंकि एक शास्त्रीय संदर्भ में, .foo .headingऔर .bar .headingसंघर्ष करेगा, और एक विशिष्ट संघर्ष का परिचय देगा जिसे हल करने की आवश्यकता होगी, संभवतः मामला-दर-मामला।

एक बीईएम साइट में, कक्षाएं होंगी .foo__headingऔर .bar__heading, जो कभी संघर्ष नहीं करेंगी।

उनका दावा है "नेस्टेड सीएसएस एक विरोधी पैटर्न है।" "एंटी-पैटर्न" का क्या मतलब है, और क्यों नेस्टेड सीएसएस खराब है?

एक "एंटी-पैटर्न" एक कोडिंग पैटर्न है जो अनुभवहीन डेवलपर्स के लिए अधिक उपयुक्त विकल्प की तुलना में सीखना और उपयोग करना आसान है।

जहां तक ​​नेस्टेड सीएसएस खराब है: नेस्टिंग एक चयनकर्ता की विशिष्टता को बढ़ाता है। विशिष्टता जितनी अधिक होती है, उतनी अधिक कोशिश उसे ओवरराइड करने में होती है। अनुभवहीन डेवलपर्स अक्सर चिंता करते हैं कि उनके सीएसएस कई पृष्ठों को प्रभावित कर सकते हैं, इसलिए वे चयनकर्ताओं का उपयोग करते हैं जैसे:

#something .lorem .ipsum .dolor ul.sit li.amet a.more

जब एक अनुभवी डेवलपर को चिंता होगी कि उनका CSS कई पृष्ठों को प्रभावित नहीं कर सकता है , तो वे चयनकर्ताओं का उपयोग करते हैं जैसे:

.more

उनका दावा है कि "हर कोई बीईएम का उपयोग करने की ओर बढ़ रहा है, इसलिए हमें भी चाहिए।" ...

यह एक बैंडवागन फेकनेस है , इसलिए इसे एक बुरे तर्क के रूप में नजरअंदाज करें। पतन के पतन के लिए जाल में मत फंसो , क्योंकि बीईएम के समर्थन में एक बुरा तर्क यह विश्वास करने का कारण नहीं है कि बीईएम अच्छा नहीं हो सकता।

क्या कोई कृपया विस्तार से बता सकता है कि BEM LESS से बेहतर क्या है?

मैंने पहले इसे कवर किया था, बीईएम और लेस तुलना करने योग्य नहीं हैं। सेब और संतरे, आदि।

मेरा सहकर्मी मुझे समझाने में पूरी तरह से विफल है, लेकिन मुझे नहीं पता कि मेरे पास कोई विकल्प है या नहीं।

मैं OOCSS, SMACSS, और BEM पर एक नज़र डालने की सलाह देता हूं, और एक टीम के रूप में प्रत्येक कार्यप्रणाली के पेशेवरों और विपक्षों का वजन करता हूं । मैं BEM का उपयोग करता हूं क्योंकि मुझे प्रारूप में इसकी सख्ती पसंद है, और बदसूरत चयनकर्ताओं को बुरा नहीं लगता, लेकिन मैं आपको यह नहीं बता सकता कि आपके लिए या आपकी टीम के लिए क्या सही है। एक व्यक्ति को शो चलाने की अनुमति न दें। यदि आप BEM के साथ सहज नहीं हैं, तो ध्यान रखें कि ऐसे अन्य विकल्प हैं जो आपकी टीम के लिए समर्थन करना आसान हो सकते हैं। आपको अपने सहकर्मी के साथ अपनी स्थिति का बचाव करने की आवश्यकता हो सकती है, लेकिन लंबे समय तक यह संभवतः आपकी परियोजनाओं के परिणाम पर सकारात्मक प्रभाव डालेगा।

मैं वास्तव में बीईएम की सराहना करने में सक्षम होना चाहता हूं, क्योंकि वह इसे गंभीरता से स्वीकार करना चाहता है।

मैंने StackOverflow पर एक उत्तर लिखा जो बताता है कि BEM कैसे काम करता है । समझने की महत्वपूर्ण बात यह है कि आपके आदर्श चयनकर्ताओं की एक विशिष्टता होनी चाहिए 0-0-1-0ताकि वे ओवरराइड और विस्तारित करने में आसान हों।

बीईएम का उपयोग करने का चयन करने का मतलब यह नहीं है कि आपको कम से कम देना होगा! आप अभी भी चर का उपयोग कर सकते हैं, आप अभी भी @imports का उपयोग कर सकते हैं, और आप निश्चित रूप से नेस्टिंग का उपयोग करना जारी रख सकते हैं। अंतर यह है कि आप चाहते हैं कि आउटपुट एक वंशज श्रृंखला के बजाय एकल वर्ग बन जाए।

तुम कहाँ हो सकता था

.widget {
    .heading {
        ...
    }
}

BEM के साथ आप उपयोग कर सकते हैं:

.widget {
    &__heading {
        ...
    }
}

इसके अतिरिक्त, क्योंकि BEM व्यक्तिगत ब्लॉकों के चारों ओर घूमता है, आप आसानी से अलग-अलग फ़ाइलों में कोड अलग कर सकते हैं। ब्लॉक के widget.lessलिए शैलियाँ होंगी .widget, जबकि ब्लॉक के component.lessलिए शैलियाँ होंगी .component। इससे किसी विशेष वर्ग के लिए स्रोत ढूंढना बहुत आसान हो जाता है, हालाँकि आप अभी भी स्रोत मानचित्रों का उपयोग करना चाहते हैं।


4
@CoreDumpError, समस्या तब होती है जब आप मॉड्यूल के भीतर नेस्टिंग मॉड्यूल शुरू करते हैं। "प्रत्येक डेवलपर अपने विशिष्ट विजेट के कोड को केवल घोंसला बना सकता है" एक स्तर गहरा है "बिल्कुल सही नहीं है, प्रत्येक डेवलपर को अपने विशिष्ट विजेट के कोड को गहरे और गहरे घोंसले में घोंसला बनाना होगा अन्यथा आम तौर पर अनजाने में तरीकों से टकराव का नामकरण करें। नामकरण टकराव से बचने का एकमात्र तरीका किसी प्रकार के नेमस्पेसिंग के साथ है, और बीईएम लगातार नेमस्पेस कक्षाओं के लिए एक आसान तरीका प्रदान करता है।
zzzzBov

3
@CoreDumpError, इस उदाहरण पर विचार करें । कार्यलय के बिना एक लेखक लेखन हर मॉड्यूल के प्रत्येक संयोजन सत्यापित करने के लिए अतिरिक्त प्रयास खर्च करने की जरूरत है हो सकता है उनके मॉड्यूल के भीतर जोड़ दिया। BEM का उपयोग करने वाला लेखक नहीं करता है।
zzzzBov

1
@CoreDumpError, यह निश्चित रूप से हो सकता है। मुझे नए डेवलपर्स को प्रशिक्षित करने में BEM आसान लगता है और इससे कोड की समीक्षा करना आसान हो जाता है, लेकिन SMACSS और OOCSS अच्छे विकल्प हैं। मैं अत्यधिक विकल्प के रूप में उन विकल्पों को देखने की सलाह देता हूं। मैं कहूंगा कि मैं अपने स्वयं के विकास के लिए बीईएम का उपयोग करता हूं ताकि मैं खुद के साथ संघर्ष न करूं, खासकर भविष्य में मेरे साथ, जो बेवकूफ है और चीजों को भूल जाता है।
zzzzBov

1
मुझे लगता है कि BEM किसी भी परियोजना पर उत्कृष्ट है जिसमें किसी भी प्रकार की जटिलता शामिल है css। आपके पास एक साइट हो सकती है जो वर्डप्रेस पर बैठती है और केवल स्क्रॉल पर चीजों को ट्रिगर करने के लिए जावास्क्रिप्ट का उपयोग करती है, लेकिन अभी भी सीएसएस में एक वेब ऐप के रूप में जटिल है। यह महत्वपूर्ण है कि 'मेरी साइट जटिल नहीं है' सोच के जाल में न पड़ें क्योंकि यह ज्यादातर दृश्य क्षेत्र में विशुद्ध रूप से सामान करता है (जैसे बहुत सारी मार्केटिंग साइटें करते हैं)
टोनी लेह

1
@CoreDumpError मेरी पिछली परियोजनाओं में से अधिकांश एकल प्रयास रहे हैं, और मैं अपने स्वयं के पुन: विशिष्टता और अद्वितीय चयनकर्ताओं पर BEM के बहुत अधिक आगमन पर। कोडबेस को बनाए रखना एक बहुत बड़ी समस्या है जो बीईएम के साथ बेहद स्पष्ट हो जाती है। कोड रखरखाव है। चीजों को बनाना आसान है। सही पैटर्न को बनाए रखना कठिन है, खासकर कोडबेस से कुछ महीनों के बाद। समय के साथ विशिष्टता संबंधी समस्याएं जटिल हो जाती हैं। लाभ किसी भी आकार की टीम IMO पर लागू होते हैं!
युजी तोमिता

8

2017 को संपादित करें

यदि आप इसे 2017 में पढ़ रहे हैं, तो शैडो DOM और शैडो DOM पॉलीफ़िल्स, प्लस कंपोनेंट्स इन सभी समस्याओं को हल करते हैं, जबकि आपके कोड को छोटा, तंग और मॉड्यूलर रखते हैं। ग्रीनफील्ड प्रोजेक्ट IMO पर BEM का उपयोग न करें।

BEM के बजाय, हमारे पास ViewEncapsulation, Polymer, StyledJSX, SASS मॉड्यूल, स्टाइल घटक, आदि जैसे उपकरण हैं।

BEM का उपयोग करने पर विचार करें यदि आपके पास घटक-उन्मुख वास्तुकला नहीं है; यदि आपके पास समर्थन करने के लिए विरासत कोड है; या यदि आप टूलींग के बिना मैन्युअल रूप से सब कुछ करने पर बस मृत सेट हैं।


BEM आपकी स्टाइल को आपके DOM घोंसले से स्वतंत्र बनाता है। यह ऐसा हर तत्व देता है जिसे आप एक बड़े-गधे वर्ग की विशेषता के रूप में चित्रित करना चाहते हैं जो आपके पृष्ठ पर अद्वितीय होने की संभावना है। तब ज्यादातर स्टाइल कक्षाओं पर किया जाता है।

यह आपके कोड को अधिक मॉड्यूलर बनाता है, क्योंकि वर्बोसिटी के एक महान सौदे की कीमत पर नेस्टिंग को अब ध्यान में नहीं लिया जाता है।

बिना BEM के

BEM के बिना, हम यह लिख सकते हैं:

<div class="widget">
  <a>Hello!</a>
  <ul>...</ul>
</div>

मानक CSS स्टाइल इस तरह दिख सकता है:

.widget {
  border: 1px solid red;
}

.widget a {
  color: green;
}

SASS के साथ भी यही बात दिखेगी:

.widget {
  border: 1px solid red;
  a {
    color: green;
  }
}

यदि आप एक छोटी टीम हैं, जहाँ हर कोई CSS को एक उच्च मानक के लिए कोड कर सकता है, और यह परियोजना इतनी छोटी है कि आप इसका पूरा संज्ञान रख सकते हैं, तो यह एक अच्छा और उचित समाधान है।

BEM के साथ

हालाँकि, यदि आपका कोड बड़ा हो गया है, और आपके पास एक बड़ी मिश्रित क्षमता वाली टीम है, तो यह इतना सरल समाधान नहीं हो सकता है। क्या होगा अगर आप उदाहरण के लिए एक और विजेट में हरे लंगर चाहते हैं। तो हम लंगर को मॉड्यूलर बनाते हैं, और वंशज चयनकर्ताओं को खत्म करते हैं।

अब हमारा HTML बहुत अधिक क्रियाशील है:

<div class="widget">
  <a class="widget__anchor">Hello!</a>
  <ul class="widget__ul">...</ul>
</div>

हमारे CSS में कोई वंशज चयनकर्ता नहीं है:

.widget {
  border: 1px solid red;
}

.widget__anchor {
  color: green;
}

लेकिन अब हम ऐसा कर सकते हैं:

<div class="widget__2">
  <a class="widget__anchor">Hello!</a>
</div>

Widget__anchor मॉड्यूलर है। यह संभावना नहीं है कि .widget__anchor की एक और परिभाषा पृष्ठ पर मौजूद होगी।

समझौतों से:

कार्यलय:

  • आपको अधिक मॉड्यूलर कोड देता है। आप किसी भी टुकड़े को अलगाव में ले जा सकते हैं।
  • किसी को भी CSS लिखने की सुविधा देता है। आपको मास्टर स्टाइलिंग और कस्टम ओवरराइड्स के बारे में जागरूक होने की आवश्यकता नहीं है। एक बड़ी टीम में, यह अच्छा है।
  • किसी भी विशिष्ट समस्या को निकालता है।
  • काफी अधिक क्रिया है।

मानक सीएसएस (जो वंशज चयनकर्ताओं के उपयोग पर निर्भर करता है):

  • मतलब आपकी स्टाइलिंग संदर्भ पर निर्भर है।
  • कैस्केड के बारे में जागरूकता की आवश्यकता है। एक बार कोड कोड कहीं और कोड को प्रभावित कर सकता है। एक छोटी टीम में यह अच्छी बात है।
  • विशिष्ट मुद्दों से पीड़ित हो सकते हैं जो एक नौसिखिया डेवलपर के लिए डिबग करना कठिन हो सकता है।
  • काफी तंग है।

तीसरा तरीका - रियल कंपोनेंट्स।

यदि आप React, Angular 2, या किसी भी अन्य आधुनिक फ्रंट-फ़्रैमवर्ड जैसी किसी चीज़ का उपयोग कर रहे हैं, तो आपके पास एक और उपाय है। आप एनकैप्सुलेशन को लागू करने के लिए टूलिंग का उपयोग कर सकते हैं।

यह उदाहरण React और StyledJSX का उपयोग करता है, लेकिन कई विकल्प हैं। यहाँ एक विजेट है:

const Widget = () => 
  <div>
    <a>Hello</a>
  </div>
  <style jsx>
    div {border:red }
    a { background: pink }
  </style>

फिर आप इस तरह नए विजेट का उपयोग करेंगे:

<Widget />

विजेट में घोषित सभी शैलियों को समझाया जाएगा, और घटक के बाहर के तत्वों पर लागू नहीं होगा। हम तो बस शैली के लिए स्वतंत्र हैं divऔर aसीधे के बारे में गलती से चिंता पृष्ठ पर कुछ और स्टाइल के बिना।


1
किसी भी पक्ष का पक्ष लिए बिना पेशेवरों और विपक्ष, मुझे यह पसंद है।
एड्रियन मोइसा

मुझे लगता है कि "अपने कोड को इस तरह लिखने के बारे में वास्तव में कुछ दुख की बात है ताकि जो लोग कैस्केडिंग को नहीं समझते हैं वे इसे समझ सकें"। यह कहने जैसा है कि "मैं किसी भी सरणियों के बिना अपना कोड लिखता हूं क्योंकि टीम के कनिष्ठ सदस्यों में से एक को समझ में नहीं आता है कि एरे कैसे काम करता है"। व्यक्तिगत रूप से मैं अधिक रसीला तरीका पसंद करता हूं जो कैस्केडिंग स्टाइल शीट के प्राकृतिक कैस्केडिंग पक्ष का पक्ष लेता है।
मैट फ्लेचर

@MattFletcher - मुझे लगता है कि यह परियोजना के आकार की बात है। झरना स्वाभाविक रूप से वैश्विक है। आप मान सेट करते हैं, फिर ट्री के माध्यम से ओवरराइड और ओवरराइड करते हैं। यदि आपके पास पूर्ण दृश्यता वाला एक छोटा प्रोजेक्ट है तो यह ठीक है, लेकिन एक बड़ी परियोजना पर यह भंगुर हो जाता है। लोग चीजों को बदलने से डरते हैं क्योंकि एक बड़ा बदलाव कैस्केड अन्य स्थानों में यादृच्छिक चीजों को तोड़ देता है। घटक एन्कैप्सुलेशन वास्तव में बड़ी परियोजनाओं पर बहुत अच्छा है। सब कुछ बस काम करता है।
superluminary

2

कोई भी दृष्टिकोण परिपूर्ण नहीं है। IMHO, हमें प्रत्येक कार्यप्रणाली (BEM, SMACSS, OOCSS, DRY) के सर्वश्रेष्ठ भागों को प्राप्त करना चाहिए। अपने CSS में अपनी फ़ोल्डर संरचना को व्यवस्थित करने के लिए SMACSS का उपयोग करें- विशेष रूप से पूरे CSS के तार्किक स्तर के टूटने को परिभाषित करने के लिए। डीआरवाई अपनी उपयोगिता पुस्तकालय बनाने के लिए या कभी-कभी बीईएम आधारित कक्षाओं के साथ संयोजन में उपयोग किए जाने वाले सामान्य संशोधक पुस्तकालय हो सकते हैं। घटकों के लिए OOCSS। और छोटे घटकों या उप-घटकों के लिए बीईएम। वहां आप जटिलता को वितरित कर सकते हैं, और एक बड़ी टीम के अंदर काम करने की स्वतंत्रता प्राप्त कर सकते हैं।

इसका सार समझे बिना उपयोग किए जाने पर कुछ भी बुरा होगा।

जबकि बीईएम बड़ी टीमों के लिए अच्छा दृष्टिकोण है, इसमें कुछ डाउनसाइड भी हैं। 1. कभी-कभी बड़े HTML संरचना में बहुत लंबे नामों का परिणाम होता है। बड़े सीएसएस फ़ाइल आकार के परिणामस्वरूप। 2. html के लिए नेस्ट करना 2-3 स्तरों से अधिक है, यह नामों को परिभाषित करने के लिए सिरदर्द बन जाता है।

यदि हम आधार संरचना के एक बहुत ही मूल सेट के साथ घटक संरचना के बारे में सोचते हैं तो संघर्ष समाधान आसानी से प्रबंधित किया जा सकता है। यह केवल दो स्तर की विरासत से अधिक है। एक घटक के अंदर प्रत्येक तत्व या तो एक वैश्विक शैली नियम या उस घटक के लिए विशिष्ट होगा। यह आसान विकल्पों में से एक है।


बहुत अच्छा तर्क। डेवलपर्स को अपने लिए सोचने और समस्या के दायरे का विश्लेषण करने में सक्षम होना चाहिए। बस आँख बंद करके चलने के तरीके अभी भी आपको परेशान करते हैं। मेरे पास ऐसे सहकर्मी हैं जो पृष्ठ पर अपने परिवर्तनों के प्रभावों पर बिल्कुल भी विचार नहीं करते हैं और इससे कोई फर्क नहीं पड़ता कि हमारे पास कौन-सी कार्यप्रणाली है जो समय के साथ दक्षिण में जाती हैं। मैं टीम में CSS जागरूकता स्तर बढ़ाने के लिए कड़ी मेहनत कर रहा हूं। स्थानीय शैलियों और वैश्विक शैलियों के साथ नेस्टेड SASS परियोजना को साफ रखने के लिए पर्याप्त है पढ़ने के लिए आसान है।
एड्रियन मोइसा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.