2014-02-17 4 views
1

У меня есть вложенный HTML как это:детей селектор в CSS

<div id="feautred"> 
    <div></div> 
    <p></p> 
    <ul></ul> 
    <dl></dl> 
</div> 

Для нормальной разметкой я мог бы использовать #featured > div, но здесь не только ДИВ вложен. Там может быть что угодно. Итак, как я могу использовать селектор #featured > ?????


Doing #featured > * подберет все внутренние детей, что мне не нужно! Я хочу выбрать только основные элементы для детей.

+1

'#features> *' не будет выбирать все элементы-потомки, он будет выбирать только прямые дочерние элементы '# featured'. Стиль, который вы применяете к этим детям, может быть унаследован элементами, которые глубже в DOM, но это из-за того, как наследование CSS работает, а не потому, что этот селектор выбирает эти элементы. – MarcinJuraszek

+0

Вы имеете в виду детей или потомков? Что вы подразумеваете под «основными элементами детей»? –

+0

@MarcinJuraszek Спасибо, что я ошибочно подумал. –

ответ

5

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

#features > * 

из specification:

Универсальный селектор, записываемый как CSS уточненное имя [CSS3NAMESPACE] звездочкой (* U + 002A) в качестве местное имя, представляет квалифицированное имя любого типа элемента.

+0

Я считаю, что C-link хочет только прямых детей, а не внутренних детей. –

+0

@BrettDeWoody Вот как работает '>' – MarcinJuraszek

+0

Ах, ваш комментарий выше, касающийся наследования CSS, очистил меня от путаницы. –

0

Возможно, что-то вроде этого?

#featured + p { } 

Это выберет все абзацы, следующие за #featured.

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