2012-10-15 4 views
123
<style> 
    #main{ 
     background: #000; 
     border: 1px solid #AAAAAA; 
     padding: 10px; 
     color: #fff; 
     width: 100px; 
    } 
</style> 

<div id="main"> 
    Welcome 
</div> 

यहाँ मैं div तत्व को एक id दिया उपयोग करने के लिए है और यह इसके लिए प्रासंगिक सीएसएस लागू करने की है।अंतर यह

या

<style> 
    .main{ 
     background: #000; 
     border: 1px solid #AAAAAA; 
     padding: 10px; 
     color: #fff; 
     width: 100px; 
    } 
</style> 
<div class="main"> 
    Welcome 
</div> 

अब यहाँ मैं div करने के लिए एक class दिया और यह भी मेरे लिए एक ही काम कर रहा है।

फिर id और class और जब मैं id का उपयोग करना चाहिए और जब मैं class का उपयोग करना चाहिए के बीच सटीक अंतर क्या है। मैं सीएसएस और वेब डिज़ाइन में नौसिखिया हूं और इससे निपटने के दौरान थोड़ा उलझन में हूं।

+0

संभावित डुप्लिकेट, http://stackoverflow.com/q/1215618/425313 –

+0

'आईडी' पहचान (प्राथमिक) और' वर्ग' माध्यमिक है। – KingRider

उत्तर

25
इस click here.

उदाहरण

<div id="header_id" class="header_class">Text</div> 

#header_id {font-color:#fff} 
.header_class {font-color:#000} 

(ध्यान दें कि सीएसएस पर

अधिक जानकारी के लिए उपयोग करता है आईडी और के लिए उपसर्ग #।। वर्गों के लिए)

हालांकिcolor एक एचटीएमएल 4.01 <font> टैग विशेषता एचटीएमएल 5 में पदावनत सीएसएस में कोई "font-रंग" वहाँ है, शैली color है था, इसलिए ऊपर पढ़ना चाहिए:

उदाहरण

<div id="header_id" class="header_class">Text</div> 

#header_id {color:#fff} 
.header_class {color:#000} 

पाठ सफेद हो जाएगा।

+39

डाउनवॉटेड क्योंकि इस उत्तर के मूल संस्करण का सहायक हिस्सा [चोरी] था (http://stackoverflow.com/a/84416) और वर्तमान संस्करण प्रश्न का उत्तर नहीं देता है। यह उत्तर हटा दिया जाना चाहिए। –

+0

मेरे लिए "सहायक" हिस्सा था "(ध्यान दें कि सीएसएस आईडी के लिए उपसर्ग '#' और वर्गों के लिए' .' का उपयोग करता है।) ", जिसे मैं लिंक किए गए उत्तर में नहीं देखता हूं। – rsethc

+0

आश्चर्यचकित है कि यह चयनित उत्तर है, जबकि आईसी द्वारा दिए गए उत्तर। वास्तव में पूछे गए सवाल का जवाब देने के लिए अधिक उन्मुख है। – theprogrammer094

10

आईडी अद्वितीय होना चाहिए - आपके पास एक HTML दस्तावेज़ में एक ही आईडी के साथ एक से अधिक तत्व नहीं हो सकते हैं। कक्षाओं का उपयोग कई तत्वों के लिए किया जा सकता है। इस मामले में, आप "मुख्य" के लिए एक आईडी का उपयोग करना चाहते हैं क्योंकि यह (अनुमानतः) अद्वितीय है - यह "मुख्य" div है जो आपकी अन्य सामग्री के लिए एक कंटेनर के रूप में कार्य करता है और केवल एक ही होगा।

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

1

class विशेषता एकाधिक HTML तत्वों/टैग के साथ उपयोग की जा सकती है और सभी प्रभाव लेंगे। जहां id एक तत्व/टैग के लिए है और इसे अद्वितीय माना जाता है।

मोरियोवर idclass से अधिक विशिष्टता मान है।

1

आप कई तत्वों के लिए class असाइन कर सकते हैं। आप तत्व के लिए एक से अधिक class असाइन भी कर सकते हैं, उदाहरण के लिए।

<button class="btn span4" ..> 
बूटस्ट्रैप में

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

1

एक कक्षा का कई बार उपयोग किया जा सकता है, जबकि एक आईडी का उपयोग केवल एक बार किया जा सकता है, इसलिए आपको उन वस्तुओं के लिए कक्षाओं का उपयोग करना चाहिए जिन्हें आप जानते हैं कि आप बहुत उपयोग करने जा रहे हैं। एक उदाहरण होगा यदि आप अपने वेबपृष्ठ पर सभी अनुच्छेदों को एक ही स्टाइल देना चाहते थे, तो आप कक्षाओं का उपयोग करेंगे।

मानक निर्दिष्ट करते हैं कि किसी दिए गए आईडी नाम को केवल पृष्ठ या दस्तावेज़ के भीतर संदर्भित किया जा सकता है। प्रति पृष्ठ केवल एक अवसर होने पर आईडी का उपयोग करें। कक्षाओं का उपयोग करें जब प्रति पृष्ठ एक या अधिक अवसर होते हैं।

1

आईडी:

यह अपने पूरे पेज के अद्वितीय तत्व की पहचान करेगा। एक ही आईडी के साथ कोई अन्य तत्व घोषित नहीं किया जाना चाहिए। आईडी चयनकर्ता का उपयोग एकल, अद्वितीय तत्व के लिए शैली निर्दिष्ट करने के लिए किया जाता है। आईडी चयनकर्ता HTML तत्व की आईडी विशेषता का उपयोग करता है, और इसे "#" के साथ परिभाषित किया जाता है।

वर्ग:

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

यह आपको एक ही कक्षा के साथ कई HTML तत्वों के लिए एक विशेष शैली सेट करने की अनुमति देता है।

कक्षा चयनकर्ता HTML वर्ग विशेषता का उपयोग करता है, और इसे "।"

44

id अद्वितीय

  • हैं प्रत्येक तत्व हो सकता है केवल एक id
  • प्रत्येक पृष्ठ कि id
साथ केवल एक ही तत्व

class तों अद्वितीय नहीं हैं हो सकता है

  • आप एकाधिक तत्वों पर उसी class का उपयोग कर सकते हैं।
  • आप एक ही तत्व पर एकाधिक class es का उपयोग कर सकते हैं।

जावास्क्रिप्ट परवाह करता है

जावास्क्रिप्ट लोगों class तों और id रों के बीच मतभेद के साथ धुन में शायद और अधिक पहले से ही कर रहे हैं। जावास्क्रिप्ट किसी विशेष id के साथ केवल एक पृष्ठ तत्व होने पर निर्भर करता है, या अन्यथा आमतौर पर getElementById फ़ंक्शन पर निर्भर नहीं किया जा सकता है।

1

यह बहुत समझने के लिए सरल है: -

आईडी जब हम केवल एक विशेषता के लिए सीएसएस संपत्ति आवेदन करना होगा प्रयोग किया जाता है।

वर्ग हम एक ही पृष्ठ या अलग भीतर कई स्थानों में सीएसएस संपत्ति का उपयोग करने के लिए जब प्रयोग किया जाता है।

जनरल: - घूर div और बटन लेआउट हम आईडी का उपयोग की तरह अनोखी संरचना के लिए।

पेज या परियोजना वर्ग उपयोग हम भर में एक ही सीएसएस के लिए

आईडी प्रकाश और वर्ग थोड़ा भारी

157
  • उपयोग है एक वर्ग जब आप लगातार शैली से अधिक तत्वों करना चाहते भर पृष्ठ/साइट। कक्षाएं तब उपयोगी होती हैं जब आपके पास भविष्य में, या संभवतः भविष्य में होगा, एक ही शैली को साझा करने वाले एक से अधिक तत्व। एक उदाहरण संबंधित टिप्पणियों के लिए उपयोग करने के लिए "टिप्पणियां" या एक निश्चित सूची शैली का एक div हो सकता है।

    साथ ही, किसी दिए गए तत्व एक से अधिक इसके साथ जुड़े वर्ग हो सकता है, जबकि एक तत्व केवल एक ही आईडी हो सकता है। उदाहरण के लिए, आप एक div दो कक्षाएं दे सकते हैं जिनकी शैलियों दोनों प्रभावी होंगी।

    इसके अलावा, ध्यान दें कि कक्षाओं अक्सर दृश्यमान की के अलावा व्यवहार शैलियों परिभाषित किया जाता है। उदाहरण के लिए, jQuery फॉर्म सत्यापनकर्ता प्लगइन तत्वों के सत्यापन व्यवहार को परिभाषित करने के लिए कक्षाओं का उपयोग करता है (उदाहरण के लिए आवश्यक या नहीं, या इनपुट प्रारूप के प्रकार को परिभाषित करना)

    कक्षा के नामों के उदाहरण हैं: टैग, टिप्पणी, टूलबार-बटन, चेतावनी संदेश, या ईमेल।

  • आईडी का प्रयोग करें आप पृष्ठ है कि शैली ले जाएगा पर एक एक तत्व है जब। याद रखें कि आईडी अद्वितीय होना चाहिए। आपके मामले में यह सही विकल्प हो सकता है, क्योंकि संभवतः पृष्ठ पर केवल एक "मुख्य" div होगा।

    आईडी के उदाहरण हैं: मुख्य सामग्री, शीर्षलेख, पाद लेख, या बाएं साइडबार।

एक अच्छा तरीका यह एक वर्ग है याद करने के लिए आइटम का एक प्रकार है और आईडी पृष्ठ पर एक आइटम का अनूठा नाम है।

+3

@ आईसी: ग्रेट !!! यह वास्तव में अच्छा जवाब है ... धन्यवाद – Sky

+0

मान लीजिए कि अगर मैं इस '

' की तरह उपयोग करता हूं और इसके लिए विभिन्न सीएसएस का उपयोग करता हूं जैसे '.main {// CSS}' और '.content {// CSS} 'तो अंतिम क्या होना चाहिए परिणाम? – Sky

+1

@ kj7 एक नाटक है http://jsfiddle.net/PcxQX/ - आपको * विरोधाभासी * शैलियों के साथ कक्षाओं का उपयोग न करने का प्रयास करना चाहिए क्योंकि यह वास्तव में समझ में नहीं आता है, सही ("यह तत्व लाल और नीला दोनों है। "या" यह तत्व बोल्ड और गैर-बोल्ड दोनों है। ")? –

1

इसे देखने का एक आसान तरीका यह है कि एक आईडी केवल एक तत्व के लिए अद्वितीय है।

एक कक्षा अद्वितीय नहीं है और कई तत्वों पर लागू होती है।

उदाहरण के लिए:

<p class = "content">This is some random <strong id="veryImportant"> stuff!</strong></p> 

सामग्री एक वर्ग के बाद से यह शायद जहां "veryImportant" केवल एक बार और फिर कभी नहीं किया जा रहा है अच्छी तरह से कुछ अन्य टैग के लिए लागू होगी।

5

जैसा कि हर किसी ने बहुत से उपयोग तत्वों के लिए एक-ऑफ तत्वों और कक्षा के लिए उपयोग आईडी कहा है।

यहां एक त्वरित, सरल उदाहरण से अधिक, के रूप में बहुत कम में अन्य उत्तर आईडी उल्लेख अच्छी तरह जावास्क्रिप्ट के संपर्क में हैं, वर्ग, के रूप में

<body> 
    <div id="leftCol"> 
     You will only have one left column 
    </div> 
    <div id="mainContent"> 
     Only one main content container, but..... 
     <p class="prettyPara">You might want more than one pretty paragraph</p> 
     <p>This one is boring and unstyled</p> 
     <p class="prettyPara">See I told you, you might need another!</p> 
    </div> 
    <div class="footer"> 
     Not very HTML5 but you'll likely only have one of these too. 
    </div> 
</body> 

भी पढ़ एचटीएमएल और सिर टैग लेते हैं।हालांकि जावास्क्रिप्ट के लिए jQuery लीवरेज क्लास जैसे आधुनिक जावास्क्रिप्ट ढांचे

1

आईडी के पास वेबपृष्ठ के भीतर विशेष अनुभागों के लिंक के रूप में कार्य करने की कार्यक्षमता है। # टैग के बाद एक कीवर्ड आपको वेबपृष्ठ के किसी विशेष अनुभाग पर ले जाएगा। उदाहरण के लिए "http://exampleurl.com#chapter5" पता बार में आपको पृष्ठ के अध्याय 5 खंड के चारों ओर लिपटा हुआ "सेक्शन 5" आईडी होगा।

-2

id चयनकर्ता के विपरीत, class चयनकर्ता का प्रयोग अक्सर कई तत्वों पर किया जाता है।
यह आपको एक ही कक्षा के साथ कई HTML तत्वों के लिए एक विशेष शैली सेट करने की अनुमति देता है।

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

-3

आईडी चयनकर्ता का उपयोग अधिक तत्वों के लिए किया जा सकता है। यहाँ उदाहरण है:

सीएसएस:

#t_color{ 
    color: red; 
} 
#f_style{ 
    font-family: arial; 
    font-size: 20px; 
} 

एचटीएमएल:

<p id="t_color"> test only </p> 
<div id="t_color">the box text</div> 

मैं इंटरनेट एक्सप्लोरर (ver 11.0।) और क्रोम पर परीक्षण (ver.47.0)। यह दोनों पर काम करता है।

"अद्वितीय" केवल इसका अर्थ है कि एक तत्व में कक्षा चयनकर्ता जैसे एक से अधिक आईडी गुण नहीं हो सकते हैं। न तो

<p id="t_color f_style">...</p> 

है और न ही

<p id="t_color" id="f_style">...</p> 
+0

क्षमा करें, मुझे नहीं पता कि मेरे कोड कैसे रखें। – xiaofeng

+2

नहीं, "अद्वितीय" का अर्थ है कि आप एकाधिक तत्वों पर एक ही आईडी का उपयोग नहीं कर सकते हैं। आपका उदाहरण जहां 'p' और' div' तत्वों में एक ही आईडी है, वह गलत है। – McVenco

+0

यह संभव हो सकता है, लेकिन यह बहुत खराब अभ्यास है, न कि उद्योग मानक। – David

1

यदि पिछले अच्छा जवाब में जोड़ने के लिए कुछ है, यह समझाने के लिए क्यों id रों प्रति पृष्ठ अद्वितीय होना चाहिए है। शुरुआत के लिए यह समझना महत्वपूर्ण है क्योंकि उसी पृष्ठ के भीतर कई तत्वों के लिए id लागू करने से कोई त्रुटि नहीं आती है और इसके विपरीत class के समान प्रभाव पड़ते हैं।

तो एक HTML/CSS परिप्रेक्ष्य से, प्रति पृष्ठ id की विशिष्टता कोई संवेदना नहीं देती है। लेकिन जावास्क्रिप्ट परिप्रेक्ष्य से, प्रति पृष्ठ एक id प्रति तत्व होना महत्वपूर्ण है क्योंकि getElementById() इसकी पहचान के अनुसार, उनके id एस द्वारा तत्वों की पहचान करता है।

तो भले ही आप एक शुद्ध HTML/CSS डेवलपर हैं, तो आप दो अच्छे कारणों के लिए प्रति पृष्ठ id रों की विशिष्टता पहलू का सम्मान करना चाहिए:

  1. स्पष्टता: जब भी आप एक आईडी देखना क्या आप वाकई यह करता हैं एक ही पृष्ठ के भीतर कहीं और मौजूद नहीं है
  2. Scalability: भले ही आप केवल HTML/CSS में विकसित हो रहे हों, आपको उस दिन को ध्यान में रखना होगा जहां आप या कोई अन्य डेवलपर जावास्क्रिप्ट में अपनी वेबसाइट पर कार्यक्षमता बनाए रखने और जोड़ने के लिए आगे बढ़ेगा ।
संबंधित मुद्दे