एचटीएमएल में, :lang()
छद्म-वर्ग और विशेषता चयनकर्ता दोनों lang
विशेषता के साथ एक तत्व से मेल खाते हैं।
अंतर यह है कि किसी ब्राउज़र में :lang()
छद्म-वर्ग के विरुद्ध परीक्षण करते समय किसी दिए गए तत्व की भाषा निर्धारित करने के अन्य तरीके हो सकते हैं, जिसे दस्तावेज़ भाषा और/या कार्यान्वयन द्वारा परिभाषित किया जा सकता है, जबकि एक विशेषता चयनकर्ता होगा केवलके लिए एक तत्व की जांच करें जो कि विशेषता है, बिना किसी दस्तावेज़-आधारित अर्थशास्त्र के।
उदाहरण के लिए, एचटीएमएल में, छद्म वर्ग किसी भी तत्व के वंशजों से मेल खाता है जिसके लिए एक अलग lang
नहीं है, इस पर निर्भर करता है कि ब्राउज़र उन वंशजों के लिए भाषा निर्धारित करता है। आम तौर पर, वंशज स्पष्ट रूप से सेट नहीं होने पर अपने पूर्वजों से भाषा विशेषता का उत्तराधिकारी होंगे।
से
spec:
:lang(C)
और के बीच अंतर '| =' '| =' ऑपरेटर वह यह है कि ऑपरेटर केवल तत्व पर एक दी गई विशेषता के खिलाफ एक तुलना करता है, जबकि :lang(C)
छद्म तुलना तुलना करने के लिए कक्षा दस्तावेज़ के अर्थशास्त्र के UAs ज्ञान का उपयोग करती है।
इस HTML उदाहरण में, केवल शरीर से मेल खाता है [lang|=fr]
(यह एक LANG विशेषता है क्योंकि), लेकिन दोनों के शरीर और पी मैच :lang(fr)
(दोनों फ्रेंच में हैं, क्योंकि)। पी [lang|=fr]
से मेल नहीं खाता है क्योंकि इसमें LANG विशेषता नहीं है।
<body lang=fr>
<p>Je suis français.</p>
</body>
अपने उदाहरण में, निम्न चयनकर्ता भी अपने .foo
तत्व मिलान हो जाएगा:
.foo:lang(en)
लेकिन निम्नलिखित चयनकर्ताओं नहीं होगा, अगर यह अपने आप ही lang
विशेषता नहीं है सेट:
.foo[lang="en"]
.foo[lang|="en"]
ब्राउज़र समर्थन के लिए, :lang()
छद्म श्रेणी आईई 8 से शुरू होने का समर्थन है, इसलिए आईई 7 वास्तव में एकमात्र ब्राउज़र है जिसे आप विशेषता चयनकर्ता पर छद्म वर्ग का उपयोग करके समर्थन करने में असमर्थ होंगे।
Selectors 4 उनके दिशात्मकता के आधार पर तत्वों मिलान के लिए :dir()
छद्म वर्ग परिचय देता है।चूंकि दिशा-निर्देश एक भाषा से संबंधित संपत्ति है, dir
और lang
गुण HTML में समान रूप से काम करते हैं, और :dir()
के बीच का अंतर और इसके संबंधित विशेषता चयनकर्ता :lang()
और उसके संबंधित विशेषता चयनकर्ता के बीच समान है - उस बिंदु पर जहां पहली वाक्य निम्नलिखित उद्धरण वास्तव में एक शब्द के लिए शब्द खंड में एक ही पैराग्राफ की कॉपी:lang()
का वर्णन:
के बीच अंतर: dir (सी) और '' [dir = सी] '' वह यह है कि '' [डीआईआर = सी] '' केवल तत्व पर दिए गए गुण के खिलाफ तुलना करता है, जबकि: डीआईआर (सी) छद्म-वर्ग दस्तावेज़ के अर्थशास्त्र के UAs ज्ञान का प्रदर्शन करने के लिए उपयोग करता है तुलना। उदाहरण के लिए, एचटीएमएल में, तत्व की दिशात्मकता विरासत में होती है ताकि एक डीआईआर विशेषता के बिना एक बच्चा एक वैध दिशा गुण के साथ अपने निकटतम पूर्वजों के समान दिशात्मकता रखे। एक और उदाहरण के रूप में, एचटीएमएल में, एक तत्व जो '[dir = auto]' से मेल खाता है, उससे मेल खाएगा: डीआईआर (एलटीआर) या: डीआईआर (आरटीएल) तत्वों की हल की गई दिशात्मकता के आधार पर इसकी सामग्री द्वारा निर्धारित अनुसार। [एचटीएमएल 5]
उत्कृष्ट स्पष्टीकरण, धन्यवाद! – john
क्या 'xml: lang' विशेषता वेब ब्राउज़र के लिए अदृश्य है (चूंकि एक वेब ब्राउज़र एक HTML पार्सर है और एक्सएमएल पार्सर नहीं है)? मैं उपयोगकर्ता सीएसएस के माध्यम से [इस डब्ल्यू 3 लेख] (http://www.w3.org/International/questions/qa-css-lang) में सूचीबद्ध चयनकर्ताओं का उपयोग करने की कोशिश कर रहा हूं लेकिन वे इस वेबपृष्ठ पर काम नहीं करते हैं ] (http://www7a.biglobe.ne.jp/~nifongo/av/t23_1.htm)। उस जापानी वेबपृष्ठ पर '' तत्व केवल 'xml: lang' विशेषता निर्दिष्ट करता है, न कि' lang' विशेषता। –
@ 3to5businessdays: हाँ, हालांकि मुझे यह इंगित करना चाहिए कि आधुनिक ब्राउज़रों में वास्तव में HTML और XML दोनों पार्सर्स हैं - जिसका उपयोग किया जाता है, सर्वर द्वारा दिए गए सामग्री-प्रकार द्वारा निर्धारित किया जाता है। भले ही, '' तत्व में केवल 'xml: lang' विशेषता है और' lang' विशेषता नहीं है, तो यह अमान्य है। ऐसा इसलिए है क्योंकि, एचटीएमएल में, केवल 'लांग' विशेषता लागू होती है, और इसी कारण से 'lang() 'छद्म मिलान नहीं हो रहा है। – BoltClock