По сути, я хочу, чтобы все элементы "a" были красными, за исключением ситуации, когда они являются дочерними элементами элемента со свойством атрибута "data-foo".
Это HTML:
<div data-foo="whatever">
<div>
... more descendants
<a href="#">I should be default color</a>
</div>
</div>
<a href="#">I should be red</a>
С этим CSS:
:not([data-foo]) a {
color: red;
}
В этом примере по-прежнему выбираются оба элемента "a". Я также попробовал следующее:
div:not([data-foo]) a
*:not([data-foo]) a
div:not([data-foo]) a
*:not(div[data-foo]) a
Но я либо ничего не выбрал, либо все выбрал. Это возможный выбор?