[Css] सीएसएस वर्ग के नाम / चयनकर्ताओं में कौन से पात्र मान्य हैं?


Answers

मेरे आश्चर्य के लिए यहां सबसे अधिक जवाब गलत हैं। परिणाम यह निकला:

सीएसएस में सीएसएस कक्षा के नामों में एनयूएल को छोड़कर किसी भी चरित्र की अनुमति है। (यदि सीएसएस में एनयूएल (बच निकला या नहीं) है, तो परिणाम अपरिभाषित है। [ CSS-characters ])

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

अधिकांश अन्य (प्रोग्रामिंग) भाषाओं में वेरिएबल नामों ("पहचानकर्ता") से बचने की अवधारणा नहीं है, इसलिए एक चर के सभी प्रस्तुतिकरणों को देखना होगा। यह सीएसएस में मामला नहीं है।

ध्यान दें कि एचटीएमएल में कक्षा के नाम विशेषता में स्पेस कैरेक्टर (स्पेस, टैब, लाइन फीड, फॉर्म फीड और कैरिज रिटर्न) को शामिल करने का कोई तरीका नहीं है, क्योंकि वे पहले से ही एक दूसरे से कक्षाएं अलग करते हैं।

इसलिए, यदि आपको एक सीएसएस वर्ग नाम में यादृच्छिक स्ट्रिंग को चालू करने की आवश्यकता है: एनयूएल और स्पेस का ख्याल रखना, और बचें (तदनुसार सीएसएस या एचटीएमएल के लिए)। किया हुआ।

Question

सीएसएस वर्ग चयनकर्ताओं के भीतर कौन से पात्र / प्रतीकों की अनुमति है? मुझे पता है कि निम्नलिखित वर्ण अमान्य हैं , लेकिन कौन से वर्ण वैध हैं ?

~ ! @ $ % ^ & * ( ) + = , . / ' ; : " ? > < [ ] \ { } | ` #



एचटीएमएल 5 / CSS3 कक्षाओं और आईडी के लिए संख्याओं के साथ शुरू कर सकते हैं।




मैंने यहां आपके प्रश्न का गहराई से उत्तर दिया है: explanation

लेख में यह भी बताया गया है कि सीएसएस (और जावास्क्रिप्ट) में किसी भी चरित्र से कैसे बचें, और मैंने इसके लिए एक आसान टूल भी बनाया। उस पृष्ठ से:

यदि आप तत्व को ~!@$%^&*()_+-=,./';:"?><[]{}|`# का आईडी मान देना ~!@$%^&*()_+-=,./';:"?><[]{}|`# , तो चयनकर्ता इस तरह दिखेगा:

सीएसएस:

<style>
  #\~\!\@\$\%\^\&\*\(\)\_\+-\=\,\.\/\'\;\:\"\?\>\<\[\]\\\{\}\|\`\#
  {
    background: hotpink;
  }
</style>

जावास्क्रिप्ट:

<script>
  // document.getElementById or similar
  document.getElementById('~!@$%^&*()_+-=,./\';:"?><[]\\{}|`#');
  // document.querySelector or similar
  $('#\\~\\!\\@\\$\\%\\^\\&\\*\\(\\)\\_\\+-\\=\\,\\.\\/\\\'\\;\\:\\"\\?\\>\\<\\[\\]\\\\\\{\\}\\|\\`\\#');
</script>



मेरी समझ यह है कि अंडरस्कोर तकनीकी रूप से मान्य है। चेक आउट:

https://developer.mozilla.org/en/underscores_in_class_and_id_names

"... 2001 के आरंभ में प्रकाशित विनिर्देश के लिए इरेटा पहली बार कानूनी अंडरस्कोर बना दिया।"

उपर्युक्त आलेख का कहना है कि उनका कभी भी उपयोग नहीं होता है, फिर उन ब्राउज़रों की एक सूची देता है जो उन्हें समर्थन नहीं देते हैं, जिनमें से सभी कम से कम उपयोगकर्ताओं की संख्या के मामले में लंबे समय तक अनावश्यक हैं।




Links