आप सीधे सीएसएस व्याकरण पर जाँच कर सकते हैं ।
मूल रूप से 1 , एक नाम को एक अंडरस्कोर ( _
), एक हाइफ़न ( -
), या एक अक्षर ( a
- z
) के साथ शुरू करना चाहिए , इसके बाद किसी भी संख्या में हाइफ़न, अंडरस्कोर, अक्षर, या नंबर। एक पकड़ है: यदि पहला चरित्र एक हाइफ़न है, तो दूसरा वर्ण 2 अक्षर या अंडरस्कोर होना चाहिए, और नाम कम से कम 2 वर्ण लंबा होना चाहिए।
-?[_a-zA-Z]+[_a-zA-Z0-9-]*
संक्षेप में, पिछले नियम W3C कल्पना से निकाले गए निम्न में अनुवाद करता है । :
CSS में, पहचानकर्ता (चयनकर्ताओं में तत्व नाम, वर्ग और ID सहित) में केवल वर्ण [a-z0-9] और ISO 10646 वर्ण U + 00A1 और उच्चतर हो सकते हैं, साथ ही हाइफ़न (-) और अंडरस्कोर (_) ; वे अंक के साथ शुरू नहीं कर सकते हैं, या एक अंक के बाद एक हाइफ़न। पहचानकर्ता में एक वर्ण कोड के रूप में बच गए अक्षर और कोई ISO 10646 वर्ण भी हो सकते हैं (अगला आइटम देखें)। उदाहरण के लिए, पहचानकर्ता "B & W?" "B \ & W \" के रूप में लिखा जा सकता है? या "बी \ 26 डब्ल्यू \ 3 एफ"।
एक हाइफ़न या अंडरस्कोर के साथ शुरू होने वाले पहचानकर्ता आमतौर पर ब्राउज़र-विशिष्ट एक्सटेंशन के लिए आरक्षित होते हैं, जैसे कि -moz-opacity
।
1 यह सभी बच गए यूनिकोड वर्णों को शामिल करने से थोड़ा अधिक जटिल हो गया है (जो कोई भी वास्तव में उपयोग नहीं करता है)।
2 ध्यान दें कि, व्याकरण I के अनुसार, एक नियम जो TWO हाइफ़न के साथ शुरू होता है, उदाहरण के लिए --indent1
, अमान्य है। हालाँकि, मुझे पूरा यकीन है कि मैंने इसे अभ्यास में देखा है।