2015-02-12 6 views
15

तक पहुँचने मैं जैसे एक बिना क्रम वाली सूची के अंदर सूची टैग के एक समूह से पहले HTML टैग के एक समूह को सीएसएस लागू करें:एक निश्चित वर्ग

<ul> 
 
    <li>1</li> 
 
    <li>2</li> 
 
    <li>3</li> 
 
    <li class="active">4</li> 
 
    <li>5</li> 
 
    <li>6</li> 
 
</ul>

वहाँ लक्षित करने के लिए एक रास्ता है सीएसएस के माध्यम से सक्रिय कक्षा से पहले या बाद में सभी सूची तत्व?

उत्तर

24

आप ~

li.active ~ li 
{ 
    color: green; 
} 

JSFiddle


सीएसएस के साथ भाई तत्वों के बाद के सभी लक्षित कर सकते हैं, आप एक तत्व से पहले भाई बहन लक्षित नहीं कर सकते तो आपको बस इतना करना होगा इस तरह कुछ:

उन्हें सभी नियम दें:

li 
{ 
    color: orange; 
} 

फिर सक्रिय एक

li.active 
{ 
    color: red; 
} 

फिर बाद

li.active ~ li 
{ 
    color: green; 
} 

JSFiddle

+1

इतना आसान है, इसे प्यार करें! धन्यवाद :) – uneducatedguy

+0

यह उत्तर मुझे फीनिक्स राइट के किसी भी तरह याद दिलाता है ... इसे हल करने के लिए समस्या को अपने सिर पर बदलना ... –

1

अधिलेखित अधिलेखित बस इसे बाहर बात करने के लिए, एक और तरीका हो सकता है:

li:not(.active) { 
    /* your css rules here */ 
} 

यह प्रत्येक li का चयन करेगा, जिसमें कक्षा .active

+0

यह पहले और बाद में उन लोगों का चयन करेगा। यदि आप xor के बाद पहले चाहते हैं, तो आपको कुछ और चाहिए। – Teepeemm

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