Подтвердить что ты не робот

Что это такое между CSS-селекторами?

Что вы называете этими:

body > p + p

в селекторе CSS? Являются ли они:

  • Реляционные операторы
  • Позиционные критерии
  • Что-то еще?

Я просто не знаю, как их назвать. Есть официальное название?

(А также существуют ли официальные имена для a b c в a b c, d e f и a в a b c?)

4b9b3361

Ответ 1

Согласно http://www.w3.org/TR/CSS2/selector.html#selector-syntax, они называются "комбинаторами".

Спасибо Дункану Бэббиджу за указание, что есть (или были) только три из них:

  • пробел символ = потомок
  • >= child
  • + plus mark = соседний следующий (следующий) родственный
  • И CSS3 добавляет тильду ~= общий следующий sibling

Ответ 2

Как указано Tom Haws, операторы между простыми селекторами называются комбинаторы. В CSS2 всего три: +, > и пространственный комбинатор.

В каждом случае "селектор" представляет собой полную комбинацию простых селекторов и комбинаторов.

Предлагается расширить диапазон действительных комбинаторов CSS3.

Ответ 3

Символы или пробелы между именами тегов называются комбинаторами, см., например, Комбинатор общего сиблинга. Это > и + в вашем примере.

Теги в вашем примере называются простым селектором в CSS2 и CSS3. Если бы у вас было бы a b c, которое было бы названо последовательностью простых селекторов в CSS3, но простым селектором в CSS2. Термин простой селектор ссылается только на одно имя элемента в CSS3, например a в a b c.

Или как раздел Синтаксис селектора содержит

Селектор представляет собой цепочку из одной или нескольких последовательностей простых селекторов, разделенных комбинаторами.

a b c, d e f называется группой селекторов, где членами группы являются селекторы a b c и d e f. a b c - это селектор или последовательность простых селекторов, состоящий из простых селекторов a, b, c, объединенных комбинаторным пробелом. Последнее предложение применимо только для CSS3.