Дополнительную информацию смотрите в спецификации W3C .
Чтобы упростить ваш пример, селектор div a { }
будет соответствовать любому тегу <a>
, который спускается из<div>
тег, независимо от того, сколько уровней предков разделяют два тега.
То есть div a { }
будет соответствовать любому из следующего:
<div> <a>...</a> </div>
<div> <h2> <a>...</a> </h2> </div>
<div> <h2> <span> <a>...</a> </span> </h2> </div>
Если вы хотите сопоставить<a>
, содержащийся непосредственно внутри <div>
без других разделяющих их тегов, необходимо использовать div > a
, который соответствует только тегам <a>
, которые являются прямыми потомками тега <div>
.