2011-04-07 45 views
53

यह सवाल मुझे थोड़ी देर के लिए परेशान कर रहा है। एक सीएसएस चयनकर्ता लिखते समय जो किसी तत्व की विशेषता के विरुद्ध तुलना करता है।सीएसएस विशेषता चयनकर्ता: उद्धरण पर नियम (", 'या कोई नहीं?)

a[rel="nofollow"] 

मुझे कभी नहीं पता कि मुझे उद्धरण चिह्नों के साथ क्या करना चाहिए। क्या वे वास्तव में जरूरी हैं?

असल में, इसके लिए विनिर्देश क्या है क्योंकि मुझे इसे वेबसाइट पर नहीं मिल रहा है।

क्या ये सभी मान्य मानते हैं?

a[rel="nofollow"] 
a[rel='nofollow'] 
a[rel=nofollow] 
+0

मुझे नहीं लगता कि वे आवश्यक हो सकते हैं। – Headshota

+0

@ हेडशोटा: इस सटीक मामले में नहीं, नहीं। –

+0

http://mothereff.in/unquoted-attributes#nofollow –

उत्तर

56

मैंने इस विषय पर अधिक व्यापक रूप से लिखा है: Unquoted attribute values in HTML and CSS

मैं भी आप अपने सवाल का जवाब में मदद करने के लिए एक उपकरण बना लिया है: http://mothereff.in/unquoted-attributes

Unquoted attribute value validator

आप आमतौर पर उद्धरण छोड़ सकते हैं जब तक कि विशेषता मान अक्षरांकीय है (हालांकि, कुछ अपवाद हैं - सभी विवरणों के लिए लिंक आलेख देखें)। वैसे भी, मुझे लगता है कि यदि आपको उनकी आवश्यकता हो तो उद्धरण जोड़ने के लिए अच्छा अभ्यास होना चाहिए, यानी a[href^=http://] काम नहीं करेगा, लेकिन a[href^="http://"] होगा।

मैंने जिस आलेख का उल्लेख किया है, वह सीएसएस स्पेक में उपयुक्त अध्यायों के लिंक का उल्लेख करता है। http://www.w3.org/TR/CSS2/selector.html#attribute-selectors

पहले दो उपयोग तार -

+1

यही वह है जिसे मैं जानना चाहता था। हालांकि बोल्टक्लॉक का उत्तरकर्ता भी बहुत उपयोगी है। यह स्पष्ट करता है कि मेरे RegExp को क्या करने की आवश्यकता है। – Olical

+0

@ वुल्फी87 ने मेरे उत्तर को एक लेख के लिंक के साथ अपडेट किया जिसे मैंने दूसरे दिन लिखा था। इसमें कुछ regexes शामिल हैं :) –

+1

(मेरे उत्तर को एक टिप्पणी के रूप में पुन: उत्पादित करना, क्योंकि मैंने इसे थोड़ी देर पहले हटा दिया था) एक व्यावहारिक दृष्टिकोण से: मैं आपको सिंगल या डबल चाहे उद्धरणों का उपयोग करने की सलाह दूंगा। इस तरह विशेषता मानों के भीतर कोई विशेष चयनकर्ता वर्ण (स्वयं उद्धरण के अलावा) को भागने की आवश्यकता नहीं होगी।इसके अलावा - और यह सिर्फ एक व्यक्तिगत कोडिंग शैली वरीयता है इसलिए इसके लिए मेरा शब्द न लें - मुझे यह एक्सएचटीएमएल विशेषता उद्धरण के साथ संगत लगता है। – BoltClock

22

विशेषता मान पहचानकर्ता या तार

होना चाहिए। तीसरा पहचानकर्ता का उपयोग करता है।

(तत्व नाम, वर्ग, और चयनकर्ताओं में ID शामिल हैं) केवल अक्षर [एक-zA-Z0-9] और आईएसओ 10646 वर्ण U + 00A0 और उच्च, के साथ साथ हाइफन शामिल कर सकते हैं

पहचानकर्ता (-) और अंडरस्कोर (_); वे एक अंक, दो हाइफ़न, या एक हाइफ़न के साथ एक अंक के साथ शुरू नहीं कर सकते हैं।

- http://www.w3.org/TR/CSS2/syndata.html#value-def-identifier

स्ट्रिंग्स या तो दोहरे उद्धरण चिह्नों के साथ या एकल उद्धरण के साथ लिखा जा सकता है।

- http://www.w3.org/TR/CSS2/syndata.html#strings

+2

इसके बजाय CSS3 spec के साथ लिंक भी हो सकता है: http://www.w3.org/TR/css3-selectors/#attribute- चयनकर्ता –

+0

सीएसएस 2 वास्तव में अधिक सहायक है क्योंकि मैं एक सीएसएस 2 चयनकर्ता इंजन लिखने के बीच में हूं। तो सीएसएस 2 मेरे लिए बेहतर है लेकिन लिंक के लिए धन्यवाद। – Olical

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