2013-02-02 22 views
5

के भीतर कोई कथन किसी दस्तावेज़ के भीतर सभी बाहरी और मेल लिंक से मेल खाने के लिए a[href^="http:"], a[href^="mailto:"] जैसे सीएसएस चयनकर्ता का उपयोग कर सकता है, लेकिन चयनकर्ता के उद्धरण अनुभाग में "या" कथन का उपयोग करने का कोई तरीका है: a[href^="(http|mailto):"]?या सीएसएस चयनकर्ता

+1

पहले चयनकर्ता आप का उल्लेख किया है कि तुम क्या चाहते हो जाएगा ... – sevenseacat

+0

@sevenseacat: और न ही या नियम है, लेकिन एक बात मैं उल्लेख किया वे निषेध है कि है कि नहीं है क्या उसने कहा? – BoltClock

उत्तर

5

जहाँ तक मैं कह सकता हूं, आप जो भी पूछ रहे हैं उसे करने का कोई तरीका नहीं है। सीएसएस चयनकर्ता spec में, विशेषता चयनकर्ताओं के साथ उपयोग किए जाने पर पाइप चरित्र का उपयोग कुछ अलग के लिए किया जाता है। इसका नाम नेमस्पेस सेपरेटर के रूप में किया जाता है।

प्रति W3C पर चयनकर्ता कल्पना

:

एक विशेषता चयनकर्ता में विशेषता नाम एक सीएसएस योग्य नाम के रूप में दिया जाता है: एक नामस्थान उपसर्ग है कि पहले घोषित किया गया है विशेषता नाम के लिए prepended किया जा सकता है नामस्थान विभाजक "लंबवत बार" (|) से अलग किया गया। एक्सएमएल अनुशंसा में नामस्थानों को ध्यान में रखते हुए, डिफ़ॉल्ट नामस्थान विशेषताओं पर लागू नहीं होते हैं, इसलिए नामस्थान घटक के बिना विशेषता चयनकर्ता केवल लागू करते हैं जिनके पास नामस्थान नहीं है ("अटैर" के समतुल्य; इन गुणों को कहा जाता है "प्रति-तत्व-प्रकार नामस्थान विभाजन" में रहें ")। नामस्थान उपसर्ग के लिए एक तारांकन का उपयोग किया जा सकता है यह दर्शाता है कि चयनकर्ता विशेषता के नामस्थान के संबंध में के बिना सभी विशेषता नामों से मेल खाता है।

CSS examples: 

@namespace foo "http://www.example.com"; 
[foo|att=val] { color: blue } 
[*|att] { color: yellow } 
[|att] { color: green } 
[att] { color: green } 

पहला नियम मूल्य "वैल" के साथ "http://www.example.com" नाम स्थान में विशेषता att के साथ ही तत्व से मेल खाएगी।

दूसरा नियम विशेषता के नामस्थान (नामस्थान सहित) की परवाह किए बिना विशेषता एट के साथ केवल तत्वों से मेल खाता है।

अंतिम दो नियम समकक्ष हैं और केवल विशेषता तत्वों से मेल खाते हैं जहां विशेषता नामस्थान में नहीं है।

स्रोत: http://www.w3.org/TR/selectors/#attrnmsp

+0

भी ['[att | = val]'] है (http: //www.w3।संगठन/टीआर/चयनकर्ता/# विशेषता-प्रतिनिधित्व), एक विशेषता चयनकर्ता जो कि 'वैल' के साथ विशेषता के साथ मेल खाता है या एक मान जो 'वैल -'' के साथ प्रीफ़िक्स किया गया है, लेकिन नामस्थान उपसर्ग के साथ यह कार्यक्षमता से पूछा जा रहा है। – BoltClock

0

मैं सीएसएस चयनकर्ता व्याकरण की जाँच की गई थी, लेकिन इस अल्पविराम विभाजक के साथ है करने के लिए एक ही रास्ता की तरह लगता है:

selectors_group 
    : selector [ COMMA S* selector ]* 

इसके अलावा, इन कुछ प्रासंगिक शाब्दिक हैं नियम:

{w}"+"   return PLUS; 
{w}">"   return GREATER; 
{w}","   return COMMA; 
{w}"~"   return TILDE; 

नहीं और रहे हैं

"{N}{O}{T}"(" return NOT;) 

http://www.w3.org/TR/selectors/#w3cselgrammar

+0

प्रतीकों संयोजक हैं (',' को छोड़कर)। यह अस्वीकृति केवल 'नहीं() 'छद्म वर्ग को संदर्भित करती है, इसलिए यह कुछ खास नहीं है। – BoltClock

+0

@ बोल्टक्लॉक: मुझे पता है कि कुछ खास नहीं है, मैंने सीएसएस चयनकर्ता spec पर पाया कुछ चीज़ों (मेरे लिए प्रासंगिक) का उल्लेख किया है। क्या मुझे अपना जवाब हटा देना चाहिए? –