Это связано со спецификой CSS. Дополнительные a
после .parent
делают его более конкретным, чем просто .parent
, и, соответственно, более конкретным, чем просто .child
. Предложение Obalix придает селекторам одинаковую специфику, поскольку оба имеют базовый элемент HTML и обозначение класса. Когда специфичность равна, он будет применять самое глубокое значение, указанное в иерархии, как вы ожидали.
Эта статья (и ресурсы, на которые она ссылается) прекрасно справляется со спецификой CSS: http://www.stuffandnonsense.co.uk/archives/css_specificity_wars.html