2012-08-06 3 views
1

Я хочу изменить класс элемента для определенного родителя. Вот что у меня есть:Как изменить класс класса css для определенного элемента ID

<form id="form2"> 
    <div class="blueform"> 
     <div class="formlegend"> 
     ... 
     </div> 
    </div> 
</form> 

Я хотел бы переопределить класс formlegend только для формы с идентификатором «form2». Я пробовал:

#form2.formlegend { 
    padding: 10px; 
} 

но не работает. Возможно ли это?

+1

убедитесь, что это появляется под вашим .formlegend Defenition также я думаю, что вам может понадобиться пространство между идентификатором и классом (хотя я не уверен, следовательно, почему я не ставил в качестве ответа) –

ответ

8

У вас не хватает «descendant combinator» (пробелы, как правило, только один пробел) между 2-селекторов:

#form2 .formlegend { 
    padding: 10px; 
} 

Без комбинатора-потомка ваш селектор будет соответствовать элементу с идентификатором form2и класс formlegend. Согласно разметке в вашем вопросе, вам нужно, чтобы он соответствовал элементу с классом formlegend, который является потомком элемента с идентификатором form2.

+0

Недостатки для пропавших без вести :) –

+0

Действительно, пространство было только вопросом. Спасибо за быстрое освещение ответа :) –

+0

@AdnanKurtovic - Добро пожаловать, рад, что смогу помочь :) –

0

Да, но убедитесь, что ваш класс переопределение объявляет после класса ORIGINALE в вашем CSS

0

Вы можете попробовать

#form2 .blueform .formlegend { } 

если does't работу, вы должны добавить дополнительный элемент с уникальным идентификатором (ID всегда должно быть уникальным). Два ID переопределение вызов один ID вызова, так что это будет выглядеть как

#override #form2 .formlegend { } 
Смежные вопросы