2010-10-12 14 views
19

पर कक्षा या आईडी मैं हाल ही में to allow greater CSS control (#9) के अपने HTML दस्तावेज़ों के बॉडी टैग में एक आईडी लागू कर रहा हूं। हाल ही में हालांकि मेरे पास हुआ कि मैं शरीर टैग में कक्षा लागू करके बिल्कुल वही कर सकता था। मैं प्रत्येक विकल्प के सकारात्मक और नकारात्मक जानना चाहता हूं। यदि मेरे पास एकाधिक पृष्ठ हैं जहां बॉडी टैग में एक ही आईडी है, तो क्या कक्षा का उपयोग करना बेहतर है? तुम क्या सोचते हो? क्यूं कर?बॉडी टैग

अद्यतन: कक्षा/आईडी मूल रूप से स्टाइलशीट की पहचान करने के लिए उपयोग करने का इरादा रखता है, जिस पृष्ठ या स्टाइलशीट पर पृष्ठ का प्रकार लागू किया जा रहा है। उदाहरण के लिए, क्या यह मुखपृष्ठ, संपर्क पृष्ठ, कई खोज परिणाम पृष्ठों में से एक है, एक संग्रह पृष्ठ, आदि?

उत्तर

18

कक्षा का उपयोग करना एक आईडी का उपयोग करने से संभवतः स्वीकार्य है। आईडी के उपयोग जितना संभव हो उतना सीमित होना चाहिए, क्योंकि वे अन्य आईडी के साथ संघर्ष कर सकते हैं और document.getElementById जैसी चीजों को तोड़ सकते हैं।

एक आईडी चयनकर्ता कक्षा चयनकर्ता से अधिक विशिष्ट है, जो आम तौर पर इसे आपके उपयोग के मामले के लिए बेहतर विकल्प बनाता है। - डेविड डोरवार्ड

हालांकि, एक उच्च "specificness" हमेशा वांछनीय है। मास्टर स्टाइलशीट में body#faq #col_b a {color:gray;} पर विचार करें और फिर कोई व्यक्ति एक ग्रे पृष्ठभूमि के साथ एक प्लगइन विकसित करता है जो कि faq पेज पर जाता है, अब उन्हें !important का उपयोग करने की आवश्यकता है या उच्च विशिष्टता देने के लिए एक और आईडी विशेषता बनाएं। ,

<body class="faq two_column big_footer"> ... 
+0

आपका कोई जहां शैलियों क्रैश हो सकता है एक प्लगइन के विकास के उदाहरण बहुत ही इस स्थिति में होने की संभावना है। मेरे लिए, ऐसा लगता है कि अगर किसी ने नियम निकाय # faq #col_b एक {रंग: ग्रे;} लिखा है, तो आप सही हैं कि उच्च विशिष्टता प्राप्त करने के लिए संभवतः एक आईडी/कक्षा लागू की जानी चाहिए। हालांकि, अगर आपके पास body.faq #col_b एक {रंग: ग्रे;} ऐसा लगता है कि उच्च विशिष्टता प्राप्त करने के लिए एक आईडी/कक्षा भी लागू की जानी चाहिए। क्या आप इन दो स्थितियों के बीच अंतर क्या समझ सकते हैं? –

+0

इसमें कोई फर्क नहीं पड़ता है, वास्तव में ... मैं व्यक्तिगत रूप से col_b की एक आईडी नहीं करता (पृष्ठ लेआउट में दाईं ओर कॉलम के लिए, कहें), मैं एक कक्षा का उपयोग करता हूं। 'Body # faq .col_b a' vs' body.faq .col_b a' के बीच, दूसरा किसी और के लिए ओवरराइड करने के लिए बहुत आसान होना चाहिए। आम तौर पर मुझे लगता है कि अगर आप सीएसएस बना रहे हैं जो दूसरों को बना सकता है, तो उच्च विशिष्टता (यदि वह यही कहा जाता है) एक बुरी बात है जब कम विशिष्टता एक ही चीज़ प्राप्त कर सकती है। –

+0

अच्छा तर्क। यदि अन्य आपके सीएसएस पर निर्माण कर रहे हैं, वांछित परिणाम प्राप्त करने के लिए हमेशा निम्नतम विशिष्टता का उपयोग करें। –

2

आईडी प्रति पृष्ठ अद्वितीय होने की जरूरत है (यदि आप मान्य मार्कअप चाहते हैं) एक विशेष आईडी उसमें केवल एक ही अर्थ मौजूद होना चाहिए:

इसके अलावा, एक भी शरीर तत्व में कई वर्गों के उपयोग पर विचार एक पेज पर

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

आदर्श रूप से, जब भी संभव हो कक्षाओं का उपयोग करें और आईडी के उपयोग को सीमित करें।

आईडी पर अधिक जानकारी के लिए, here देखें, और कक्षाओं पर और देखें, here देखें।

+0

धन्यवाद। मैं पहले से ही w3schools पर पढ़ा है। मैं अपनी स्थिति में कक्षा या आईडी का उपयोग कर सकता हूं और यह स्वीकार्य होगा। हालांकि, मैं दूसरे पर एक का उपयोग करने के किसी भी संभावित सकारात्मक/नकारात्मक विचारों को समझने की कोशिश कर रहा हूं। –

+0

उस स्थिति में, वास्तव में कोई महत्वपूर्ण प्रभाव नहीं है जब तक आप उनका उपयोग कर रहे हैं, अर्थात् सही है। –

+1

कृपया डब्ल्यू 3 स्कूल्स से लिंक न करें - [वे अक्सर गलत हैं और W3C से संबद्ध नहीं हैं] (http://w3fools.com/)। – iono

1

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

0

आप (टैग: चाहिए) केवल शरीर टैग पर आईडी का उपयोग कर सकते हैं।

आईडी = प्रति पृष्ठ एकल उपयोग

कक्षा = कई

1 शरीर टैग = 1 आईडी टैग का उपयोग करता। यह विभिन्न पृष्ठों पर समान हो सकता है। अनिवार्य रूप से, इस उद्देश्य के लिए कक्षा टैग का उपयोग शायद अधिक हो गया है।

4

एक आईडी चयनकर्ता एक वर्ग चयनकर्ता से अधिक specific है, जो आम तौर पर इसे आपके उपयोग के मामले के लिए बेहतर विकल्प बनाता है।

0

एचटीएमएल 5 में, आईडी विशेषता किसी भी HTML तत्व पर उपयोग की जा सकती है (यह किसी भी HTML तत्व पर मान्य होगी। हालांकि, यह आवश्यक रूप से उपयोगी नहीं है)।<base>, <head>, <html>, <meta>, <param>, <script>, <style>, and <title>.

नोट::

HTML 4.01 में, आईडी गुण के साथ प्रयोग किया जा सकता है नहीं किया जा एचटीएमएल 4.01 आईडी मूल्यों की सामग्री पर अधिक से अधिक प्रतिबंध है (उदाहरण के लिए, HTML 4.01 में आईडी मान एक संख्या के साथ प्रारंभ नहीं कर सकता)।

स्रोत: W3School

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