2010-08-31 15 views
46

मैंने अभी यह देखा: *|*:link फ़ायरबग के साथ। ऐसा कुछ डिफ़ॉल्ट स्टाइल लगता है जो फ़ायरफ़ॉक्स संलग्न करता है, लेकिन *|* का क्या अर्थ है?* | * इसका मतलब सीएसएस में क्या है?

+7

सीएसएस नेमस्पेस। मैं उस http://ajaxian.com/archives/w3c-css-namespaces-now-a-candidate-recommendation से कहीं अधिक जानबूझकर टिप्पणी नहीं कर सकता –

उत्तर

14

*|* एक namespace-qualified universal selector है। पहले * का मतलब किसी भी नेमस्पेस (डिफ़ॉल्ट नामस्थान और नामस्थान की कमी सहित), और दूसरा * का अर्थ किसी तत्व प्रकार का है।

जैसा कि बताया गया है, चयनकर्ता *|*:link किसी भी नामस्थान में किसी भी तत्व का प्रतिनिधित्व करता है जो एक अवांछित हाइपरलिंक (:link) है। स्पष्ट है कि, *| उपसर्ग किसी भी नाम स्थान में कुछ तत्वों, सहित मतलब है: डिफ़ॉल्ट नाम स्थान (जैसे XHTML) किसी अन्य नाम स्थान में

  • तत्वों (Firefox में जैसे XUL)
  • तत्वों में

    • तत्वों कि एक नाम स्थान में नहीं हैं

    CSS has a module dedicated to namespace declarations.

    दस्तावेज़ प्रकार निर्धारित करता है क्या तत्वों की तरह Hyp के रूप में नामित किया जाना चाहिए erlinks:

    • HTML और XHTML में, यह हमेशा एक href विशेषता के साथ एक a तत्व है।

    • एक्सयूएल में, मेरा मानना ​​है कि यह तत्व href विशेषता के साथ है।

    ध्यान दें कि सीएसएस नेमस्पेस केवल सीएसएस एक्सएमएल दस्तावेज़ों के लिए सीएसएस का उपयोग करते समय उपयोगी हैं, या अन्य दस्तावेज़ प्रकार जो नामस्थानों को समान रूप से परिभाषित करते हैं। इसमें कस्टम एक्सएमएल नेमस्पेस वाले एक्सएचटीएमएल पेज शामिल हैं। नियमित HTML दस्तावेज़ों में आमतौर पर चयनकर्ताओं में नेमस्पेस उपसर्गों का उपयोग करने की आवश्यकता नहीं होती है।

    यह कहा गया है कि ब्राउज़र अन्य उपयोगकर्ता-आधारित भाषाओं के साथ अंतःक्रियाशीलता की अनुमति देने के लिए, उनके उपयोगकर्ता एजेंट स्टाइलशीट में एक डिफ़ॉल्ट नामस्थान घोषित करता है जो एचटीएमएल/एक्सएचटीएमएल के लिए एक्सएचटीएमएल के अनुरूप है। फ़ायरफ़ॉक्स के मामले में, यह दोनों XHTML और XUL के साथ काम करने के लिए स्पष्ट रूप से है:

    @namespace url(http://www.w3.org/1999/xhtml); /* set default namespace to HTML */ 
    @namespace xul url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul); 
    

    के बाद से (एक्स) एचटीएमएल तत्वों डिफ़ॉल्ट नाम स्थान में रहते हैं, सिर्फ इन तत्वों होने की जरूरत नहीं है मिलान के लिए चयनकर्ताओं नाम स्थान-पहले से जुड़ा हुआ। यह तकनीकी कारण है, जैसा कि मैंने ऊपर उल्लेख किया है, चयनकर्ताओं में नेमस्पेस उपसर्गों का उपयोग करने की आवश्यकता नहीं है।

    ध्यान दें कि यदि आप नामस्थान उपसर्ग के साथ किसी भी तत्व प्रकार को लक्षित करना चाहते हैं, तो * दाएं तरफ होना चाहिए, इसलिए *|:link जैसे कुछ अमान्य होगा। विवरण के लिए this answer देखें।

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