Каждая последовательность простых селекторов и комбинаторов читается браузерами справа налево, линейно. Комбинаторы никак не влияют на порядок. Крайний правый селектор, после последнего комбинатора, если он есть, известен как ключевой селектор (см. Ссылки ниже для получения дополнительной информации), и он определяет элемент, к которому применяется правило (также известный как * 1003). * субъект селектора, хотя обратите внимание, что ключевой селектор не всегда может представлять тему селектора, поскольку разные приложения реализуют селекторы по-разному).
Селектор #id1 #id2 + #id3
означает
Выбрать элемент #id3
если это непосредственно следует за братом #id2
это потомок #id1
.
Структура DOM, в которой #id3
будет соответствовать селектору, будет выглядеть так:
#id1
... any level of nesting
#id2
#id3
Пока #id1 + #id2 #id3
означает
Выбрать элемент #id3
если это потомок #id2
это непосредственно следует как родной брат #id1
.
И структура DOM, в которой #id3
будет соответствовать селектору, будет выглядеть так:
#id1
#id2
... any level of nesting
#id3
Обратите внимание на разницу в положении элемента #id2
в этой структуре DOM по сравнению с приведенной выше.
Здесь нет особой проблемы приоритета, поскольку комбинаторы потомков и братьев и сестер идут в DOM в разных направлениях. Обе последовательности селектора читаются справа налево в любом случае.
Похожие ответы: