2015-07-09 3 views
1

Предположим, у меня есть элемент DIV, идентификатор которого равен mydiv.CSS присваивает класс дочерним элементам, которые не являются конкретным типом

<div id="mydiv"> 
    <div></div> 
    <span></span> 
    <p></p> 
</div> 

Я хочу присвоить класс CSS только тем прямым потомкам этого div, которые не являются элементами span. Поэтому в приведенном выше примере класс должен быть назначен только для дочерних элементов div и p. Как это сделать, используя CSS (не Javascript)?

+0

Вы хотите присвоить класс CSS, используя CSS? –

+0

Что это за вопрос? –

ответ

3

Вы можете использовать :not:

#mydiv > *:not(span){ 
    color: #f00; 
} 

JSFiddle

Примечание: Вы не назначаем класс CSS, вы подаете группу стилей CSS для конкретного выбора.

+0

Благодарим за отзыв –

+0

@StevenSmith Рад помочь. – George

3

Вы не можете «добавить класс» с помощью CSS, но вы можете выбрать элементы и применить к ним стиль, если это то, что вы имеете в виду.

#mydiv > :not(span) { /* apply style to direct descendants that aren't span */ } 

https://developer.mozilla.org/en-US/docs/Web/CSS/%3Anot

+0

Благодарим за отзыв –

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