>
- это дочерний комбинатор , иногда ошибочно называемый комбинатором прямого потомка. 1
Это означает, что селектор div > p.some_class
выбирает только абзацы .some_class
, которые вложены непосредственно внутри a div
, а не любые абзацы, которые вложены дальше в.
Иллюстрация:
<div>
<p class="some_class">Some text here</p> <!-- Selected [1] -->
<blockquote>
<p class="some_class">More text here</p> <!-- Not selected [2] -->
</blockquote>
</div>
Что выбрано, а что нет:
Selected
Этот p.some_class
расположен непосредственно внутри div
, поэтому между обоими элементами установлены отношения родитель-потомок.
Не выбран
Этот p.some_class
содержится в blockquote
внутри div
, а не в div
. Хотя этот p.some_class
является потомком div
, это не ребенок; это внук.
Следовательно, хотя div > p.some_class
не будет соответствовать этому элементу, div p.some_class
будет использовать вместо него комбинатор-потомок .
1 Многие люди идут дальше, называя это «прямым ребенком» или «непосредственным ребенком», но это совершенно не нужно (и невероятно раздражает меня), потому что дочерний элемент немедленный по определению в любом случае, поэтому они означают одно и то же. Нет такой вещи как «косвенный ребенок».