Я немного запутался между этими двумя селекторами.
Имеет ли потомок селектор:
div p
выбрать все в p
пределах div
или нет, это непосредственный потомок? Так что, если он p
находится внутри другого, div
он все равно будет выбран?
Тогда дочерний селектор:
div > p
Какая разница? Ребенок означает непосредственный ребенок? Например.
<div><p>
против
<div><div><p>
оба будут выбраны, или нет?
css
css-selectors
iceangel89
источник
источник
Ответы:
Подумайте, что означают слова «ребенок» и «потомок» на английском:
источник
Да вы правы.
div p
будет соответствовать следующему примеру, ноdiv > p
не будет.Первый называется потомком селектора, а второй - дочерним селектором .
источник
По сути, « ab » выбирает все b внутри a, в то время как « a> b » выбирает b, которые являются только дочерними по отношению к a , он не будет выбирать b, который является дочерним по отношению к b по отношению к дочернему по отношению к a .
Этот пример иллюстрирует разницу:
Цвет фона abc и def будет зеленым, но у ghi будет красный цвет фона.
ВАЖНО: Если вы измените порядок правил на:
Все буквы будут иметь красный фон, потому что селектор потомков также выбирает дочерний.
источник
Теоретически: ребенок => непосредственный потомок предка (например, Джо и его отец)
Descendant => любой элемент, который произошел от определенного предка (например, Джо и его пра-пра-прадедушка)
На практике: попробуйте этот HTML:
с этим CSS:
http://jsfiddle.net/X343c/1/
источник
red
иblue
поменялся местами).Помните, что дочерний селектор не поддерживается в Internet Explorer 6. (Если вы используете селектор в селекторе jQuery / Prototype / YUI и т. Д., А не в таблице стилей, он все еще работает)
источник
Выбирает все элементы 'p', где родительский элемент является элементом 'div'
Это означает непосредственные дочерние элементы. Выбирает все элементы 'p', где родительский элемент является элементом 'div'.
источник
Выбор CSS и применение стиля к определенному элементу может быть сделано через обход элемента dom [Пример
пример
источник