If CSS Selectors are by #id, do you need to scope them? -


अगर मेरे पास इस तरह की संरचना है:

  & lt; div id = "main" & gt; & Lt; div id = "साइडबार" & gt; & Lt; div id = "टैग-बादल" / & gt; & Lt; / div & gt; & Lt; / div & gt;  

... सीएसएस के लिए सबसे अच्छा अभ्यास क्या है:

  #main #sidebar # tag-cloud {...} # टैग-बादल {.. ।}  

या यदि id = 'main' बजाय class = 'main' था, तो क्या यह गुंजाइश से भी बदतर होगा? मैं सोच रहा हूं, अगर आपके पास आईडी हैं, तो क्या आपको गुंजाइश की ज़रूरत है?

निर्भर करता है ज्यादातर समय, आप कह सकते हैं:

  # टैग-बादल {...}  

सबसे अच्छा (प्रदर्शन-वार, नीचे देखें) । यह:

  #main #sidebar # tag-cloud {...}  

बस बहुत सारे अनावश्यक चेक हैं जो सफल होने के लिए बाध्य हैं।

जब तक आप ऐसा नहीं करना चाहते हैं:

  # साइडबार # टैग-बादल {...} # नोट-साइडबार # टैग-क्लाउड {...}  

उस स्थिति में स्कॉपिंग एक अलग रूप को परिभाषित करता है, जहां पर # tag-cloud होता है बेशक आपके पृष्ठ में केवल एक ही # tag-cloud हो सकता है, लेकिन आपका सीएसएस दोनों ही मामलों को संभाल सकता है।


सीएसएस चेक सही से बाएं से किए गए हैं यह:

<पूर्व> #main #sidebar # tag-cloud {...}

इसका मूल्यांकन: "आईडी टैग-क्लाउड वाला तत्व जिसकी पहचान ID साइडबार के साथ एक अभिभावक है, जिसका आईडी मुख्य के साथ एक अभिभावक है। अगर ऐसा है तो आपकी साइट वैसे भी दिखती है, यह सिर्फ बेकार DOM ट्रवर्सल का एक बहुत कुछ।

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


Comments