2010-02-26 7 views
20

सीएसएस चयनकर्ताओं का नामकरण करते समय सबसे अच्छा अभ्यास क्या है?सीएसएस चयनकर्ता नामकरण करते समय अपरकेस, डैश या अंडरस्कोर का उपयोग

SomeContainerContent 
some_container_content 
some-container-content 

मैंने स्टैक ओवरफ़्लो पर अन्य समान प्रश्नों को पढ़ा है, लेकिन उत्तर में कोई आम सहमति नहीं है। मैं सोच रहा था कि किसी और को जोड़ने के लिए और अधिक था।

+1

वहाँ कोई आम सहमति नहीं है, क्योंकि यह कोई फर्क नहीं पड़ता है। उन्हें नाम दें हालांकि आप चाहते हैं! – Shog9

उत्तर

28

सामान्य सोचा हाइफ़न का प्रयोग है। वास्तव में, अन्य विकल्पों के साथ संभावित संगतता मुद्दे हैं।

  • कुछ नाम (अनुमोदित, पुराने, एनएस 4-प्रकार) ब्राउज़र में कक्षा के नाम या आईडी में अंडरस्कोर की अनुमति नहीं है।
  • सीएसएस स्पेक निर्दिष्ट नहीं करता है कि ब्राउज़रों को केस कैसे संभालना चाहिए, इसलिए camelCase का उपयोग करके संदिग्ध व्याख्या के लिए एक खुला छोड़ देता है।

इसके अतिरिक्त, सीएसएस first-child जैसी चीजों के लिए आंतरिक रूप से हाइफ़न का उपयोग करता है।

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

+2

अच्छा अंक। इसके अलावा, मैं चर नामों में और हाइपर विधियों में हाइफ़न का उपयोग नहीं कर सकता, जो सीएसएस कक्षाओं को अलग करने के लिए एक और सुराग जोड़ता है यदि मैं उन्हें हाइफेन करता हूं। – deb

2

मुझे सच में लगता है कि यह आपके ऊपर है। हालांकि, महत्वपूर्ण होना महत्वपूर्ण है। उदाहरण के लिए, मैं कक्षाओं के लिए आईडी और डैश के लिए अंडरस्कोर का उपयोग करना पसंद करता हूं।

+2

...जो वास्तव में मेरे लिए थोड़े असंगत लगता है, क्योंकि मेरे मस्तिष्क समूह सीएसएस को एक ही चीज़ के रूप में देखते हैं। क्या कक्षाओं और आईडी को अलग रखने के लिए, जहां तक ​​मानसिक भंडारण होता है? – Matchu

0

यह वास्तव में कोई फर्क नहीं पड़ता और आपके व्यक्तिगत स्वाद के लिए नीचे आता है। हालांकि, एक परियोजना के लिए यह सुसंगत होना चाहिए! इसलिए, यदि पहले से ही एक सीएसएस मौजूद है, तो इस शैली द्वारा निर्धारित शैली के लिए जाएं।

0

मैं एचटीएमएल/सीएसएस के लिए डैश (-) का उपयोग करता हूं और PHP चर के लिए अंडरस्कोर करता हूं। मेरे लिए व्यवस्थित चीजें रखती है।

0

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

लगता है कि ज्यादातर लोगों को हालांकि CamelCase:

poll on what people use

+0

यह एक दिलचस्प लिंक है, साझा करने के लिए धन्यवाद। CamelCase मेरे लिए सबसे भ्रमित है, क्योंकि मुझे CamelCase में कक्षा के नामों को रूबी करने के लिए उपयोग किया जाता है। – deb

0

"सीएसएस में, पहचानकर्ताओं (तत्वों, वर्गों और चयनकर्ताओं में आईडी सहित) में केवल वर्ण [ए-जेए-जेड -9] और आईएसओ 10646 वर्ण यू +00 ए 1 और उच्चतर, साथ ही हाइफ़न (-) और अंडरस्कोर (_); वे अंकों के साथ एक अंक, या एक हाइफ़न के साथ शुरू नहीं कर सकते हैं। पहचानकर्ताओं में भागने वाले वर्ण और किसी भी आईएसओ 10646 वर्ण को संख्यात्मक कोड के रूप में भी शामिल किया जा सकता है (अगला आइटम देखें)। उदाहरण के लिए, पहचानकर्ता " बी & डब्ल्यू? "बी \ & डब्ल्यू \?" या "बी \ 26 डब्ल्यू \ 3 एफ" के रूप में लिखा जा सकता है। " में

3
.hyphens-for-multi-word-names 
.underscores_for_pseudo_namespacing 

परिणाम:

.grid-system_push-100 
\_________/ \______/ 
    namespace object 

नाम स्थान और वस्तु आसानी से BEM कार्यान्वयन के एक प्रकार के लिए purposed जा सकता है।

.grid-slot { }   /* block */ 

.grid-slot_size-100 { } /* block-specific modifier */ 

._size-100    /* generic modifier */ 

मेरे $ 0.02

संबंधित मुद्दे