2012-03-15 12 views
13

संभव डुप्लिकेट:
Why selecting by ID is not recommended in CSS?मुझे सीएसएस का उपयोग करके स्टाइल आईडी का उपयोग क्यों नहीं करना चाहिए?

मैं अनगिनत धागे और लेख है कि मैं "id" विशेषता का उपयोग कभी नहीं करना चाहिए सीएसएस शैलियों लेकिन कक्षाओं के बजाय देने के लिए पढ़ रहा है।

मुझे पता है कि कक्षाएं पुन: प्रयोज्य हैं, लेकिन केवल वह अकेला तर्क नहीं लगता है कि उनका उपयोग न करें। अंत में, जावास्क्रिप्ट के लिए आईडी की आवश्यकता है, तो उनका लाभ क्यों न लें, क्योंकि वे कहीं भी नहीं जा रहे हैं?

क्या कोई मुझे इन विचारों के कारण बता सकता है?

+4

क्या आप हमें बता सकते हैं कि आपको किसने बताया? – m90

+1

कभी भी थोड़े सख्त है, हालांकि पहली बार आपको एक से अधिक तत्वों पर एक परिभाषा का उपयोग करने की आवश्यकता है, एक पृष्ठ पर, आप foobar हैं ... – xandercoded

+2

[csslint] (http://csslint.net/) सख्त है आईडी चयनकर्ताओं का उपयोग करना। – zzzzBov

उत्तर

13

स्टाइलिंग आईडी DRY सिद्धांतों के खिलाफ चला जाता है और कुछ ऐसा है जो से बचा जाना चाहिए यदि यह समझ में आता है। ऐसी परिस्थितियां हैं जहां आपको एक ऑब्जेक्ट को स्टाइल करने की आवश्यकता होती है और आपको पता है कि यह पृष्ठ पर किसी और चीज़ के साथ कभी साझा नहीं किया जाएगा, इसलिए मुझे लगता है कि कभी नहीं स्टाइल आईडी अपमानजनक है, जब तक आप रखरखाव जोखिम के बारे में जानते हों और यह स्वीकार्य काम करें जो आपको नौकरी पाने के लिए करना है।

+1

जावास्क्रिप्ट के साथ डीओएम से तत्व का चयन करते समय आईडी अच्छी होती है।जब आप जानते हैं कि यह कभी भी इस कार्य के लिए उपयोग किया जाने वाला एक तत्व होगा - जैसे कि कुछ jQuery स्लाइडर के लिए कंटेनर। – Tomasz

+0

मैं सहमत हूं लेकिन यह सीएसएस के बारे में एक सवाल जावास्क्रिप्ट नहीं है। – JaredMcAteer

+2

यही कारण है कि टिप्पणी टिप्पणी नहीं है;) – Tomasz

16

आईडी-चयनकर्ताओं का उपयोग करने से बचने का कोई विशेष कारण नहीं है। जो कुछ भी आप पढ़ते हैं उस पर विश्वास न करें।

उसने कहा, यदि आप आईडी के साथ सब कुछ स्टाइल कर रहे हैं, तो आप कक्षाओं के लाभों पर हार रहे हैं।

3

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

<div id="myid" class="box"></div> 
.box { 
    padding:1em; 
    border:1px solid #ccc; 
    color:#222; 
} 
#myid { 
    padding:2em; 
} 

आप id द्वारा मुख्य रूप से स्टाइल रहे हैं, तो यह पता चलता है कि आप अनावश्यक सीएसएस लेखन किया जा सकता है और कक्षाओं का लाभ और झरना पर्याप्त नहीं ले रही।

6

आप जब पहचान पत्र का उपयोग करने के लिए एक सामान्य नियम के लिए देख रहे हैं, यहाँ एक है कि मैं कोड द्वारा:

आईडी: इस तरह के # शीर्ष के रूप में

  • शीर्ष तत्वों कि दोहराव कभी नहीं कर रहे हैं, , #wrapper, #footer इत्यादि।
  • आइटम जिन्हें बाहरी स्क्रिप्ट या इसी तरह से पहचाना जाना चाहिए।
  • <a name="anchor_name" id="anchor_name"><a> स्थितियां। अच्छा कोडिंग अभ्यास एंकरों को एक आईडी देना है।
संबंधित मुद्दे