2012-01-05 3 views
14

Как вы можете переопределить класс, если его в другом конкретном классе?Как применить правило css ко всем потомкам элементов

div.cls { 
color:blue; 
} 

div.tst > div.cls { 
color:red; 
} 

<div class="cls">test</div> // text color = blue 

<div class="tst"> 
    <div class="cls">test</div> // text color = red 
    <div> 
    <div class="cls">test</div> // text color = blue 
    </div> 
<div> 

Как сделать последний также красным?

jsfiddle

http://jsfiddle.net/gpD7H/

+0

Ваш код должен работать нормально. Что ты спрашиваешь? – SLaks

+0

В чем ваш вопрос? Есть ли что-то там, у которого нет цвета, который вы ожидали? – Ernesto

+0

также, если класс 'cls' не является непосредственно дочерним элементом' tst'? – clarkk

ответ

4

Точно так же. Однако ваше второе подразделение не будет быть красным текстом, потому что оно также содержится в другом подразделении. Селектор > соответствует только ближайшим дочерним элементам под элементом, сопоставленным перед ним, поэтому он просматривает div.tst только на одном уровне. Попробуйте удалить > из селектора:

div.tst div.cls { 
color:red; 
} 

Your updated jsFiddle

10

Я использовал это, это работает для меня:

.name-оф-родителя * {цвет: красный; }

Смежные вопросы