2012-06-23 12 views
15

मैं एक मेनू जहां प्रत्येक आइटम एक · के साथ अलग किया जाता है बनाना चाहते हैं। इसे प्राप्त करने के लिए मैंयह सीएसएस में कई छद्म तत्वों का उपयोग करना ठीक है?

menu li:before { 
    content: "· "; 
} 

यह सूजन है, लेकिन यह पहले आइटम से पहले एक बिंदु उत्पन्न करता है। इसलिए, मैं के रूप में अच्छी :first-child छद्म वर्ग का उपयोग करना चाहते हैं। क्या मैं यह कर सकता हूं?

+0

यह वेबकिट में कम से कम काम करता है ... – Himmators

+1

आधुनिक ब्राउज़र के साथ ठीक काम करता है। मैंने एक बार होवर और कक्षा के बाद उपयोग किया है। और यह woked। – SVS

+1

आधुनिक ब्राउज़रों के लिए Hurray! वे पुराने ढंग से कभी नहीं बदल सकते हैं! – Himmators

उत्तर

16

सुनिश्चित करें कि आप कर सकते हैं - http://jsfiddle.net/WQBxk/

p:before { 
    content: "BEFORE "; 
    display: block; 
} 

p:first-child:before { 
    content: "1ST"; 
    display: block 
} 
​ 

बुरा - यह IE7 और नीचे में काम नहीं करेगा। एकाधिक छद्म चयनकर्ताओं की वजह से नहीं, लेकिन गैर-समर्थित :before - http://kimblim.dk/css-tests/selectors/

बस IE8 में परीक्षण किया गया - अच्छी तरह से काम करता है। http://jsfiddle.net/surendraVsingh/zRrLF/

<ul> 
<li>lorem</li> 
<li>lorem</li> 
<li>lorem</li> 
<li>lorem</li> 
<li>lorem</li> 
<li>lorem</li> 

</ul>​ 

सीएसएस:

li:before{content:'. ';} 
li:first-child:before{content:'@ ';} 
+2

आप एक से अधिक छद्म वर्गों का उपयोग कर सकते हैं, लेकिन आप कई छद्म तत्वों का उपयोग नहीं कर सकते। यह वह जगह है जहां दोनों के बीच भेद महत्वपूर्ण हो जाता है (और "छद्म चयनकर्ता" शब्द का उपयोग संभावित भ्रम पैदा कर सकता है)। – BoltClock

+0

अरे, मैं इस तरह के एक प्रश्न पूछने जा रहा था, लेकिन फिर मैंने इस प्रश्न को कई छद्म वर्गों का उपयोग करने के लिए देखा, इसलिए मैंने इन टिप्पणियों में अपना प्रश्न पूछने का फैसला किया। [यहां] (https://jsfiddle.net/NathanielSantley/nLnjbf50/6/) मेरी पहेली है। मैं इसे "अमान्य ईमेल" प्रदर्शित करना चाहता हूं! लाल रंग में अगर यह वास्तव में एक अवैध ईमेल है और "वैध ईमेल!" हरे रंग में अगर यह एक वैध ईमेल है। क्या मैं कुछ गलत कर रहा हूं? – NathanielSantley

1

यहाँ काम कर रहे बेला है किसी भी pseudoclass की अनुकूलता आप यहाँ http://caniuse.com/#search=after

उपयोग करने के लिए आप एक बिंदु j नहीं करना चाहते हैं जा रहे हैं उस्त सामग्री और उसके बाद प्रदर्शन में खाली अल्पविराम का उपयोग: ब्लॉक और भी ऊंचाई और चौड़ाई निर्दिष्ट करें।

menu li:before { 
    content: ""; 

    display:block; 
    width:50px; 
    height:50px; 
    background:red; 

} 
-2
बेशक आप छद्म classes.They उपयोग कर सकते हैं के

काफी अच्छी तरह से IE8 और up.You से समर्थन कर रहे जांच कर सकते हैं

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