Правильные термины и слова для разделов и частей селекторов

каков правильный термин для разделов селекторов CSS, которые являются разделены запятыми?

    body.foo .login , body.bar .login { ... }
/*                  |
           Part 1   |  Part 2         */

в этих разделах, каков термин для частей разделены комбинаторы (пробелы, +, > и т. д.)?

    body.foo .login , ... { ... }
/*          |
   Part 1   |   Part 2    */

3 ответов


каков правильный термин для разделов селекторов CSS, которые являются разделены запятыми?

в настоящее время они просто называются селекторы, что мне действительно не нравится. в будущем, они будут лучше определены как сложные селекторы.

весь разделенный запятыми список известен как список селектора или группы.

в этих разделах, каков термин для частей разделены комбинаторы (пробелы, +, > и т. д.)?

в настоящее время они называются последовательности простых селекторов. В будущем, они будут известны как составные селекторы.

Итак, список селекторов состоит из одного или нескольких сложных селекторов, разделенных запятыми, а каждый сложный селектор состоит из двух основных частей: составных селекторов, и комбинаторы. Он может также выборочно содержать псевдо-элементы.


и так как я здесь, вот остальные определения...

селекторы уровня 3 подводит итог следующим образом:

  • A простой селектор является одним из основных компонентов селектора. Это одно из следующих:

  • A комбинатора другой фундаментальная составляющая селекторов. Это символ или маркер, который разделяет два составных селектора, устанавливая на своем месте связь между двумя элементами, представленными двумя составными селекторами. В настоящее время используются четыре комбинатора:

    • потомок комбинатора:

      article p
      
    • ребенок комбинатора:

      /* 
       * The extra spaces in between are whitespace,
       * and are therefore insignificant.
       */
      ul > li
      
    • соседний брат комбинатор:

      header + section
      
    • общий комбинатор братьев и сестер:

      h2 ~ p
      

    больше комбинаторов могут быть введены в более поздних спецификациях.

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

    a:not([rel="external"]):hover
    
  • A селектор (я ненавижу это определение) - это полная строка, состоящая из селекторных последовательностей связанные комбинаторами:

    nav[role="main"] > ul:first-child > li
    

селекторы уровня 4 переопределяет ряд терминов и в результате делает вещи менее двусмысленными и менее неуклюжими:

  • последовательность простых селекторов, теперь известный как соединение селектора.

  • имя сложный селектор теперь дано определение CSS3 "селектора" (то есть строка соединения селекторы и комбинаторы).

  • группа из одного или нескольких составных/сложных селекторов теперь официально известна как список селектора. Сам термин в настоящее время не делает различия между ними, и я не вижу, чтобы это изменилось в ближайшее время.

    однако, если Вы читаете грамматику для определенных функциональных псевдоклассов, она будет описывать, какие списки селекторов они ищут. Например, enhanced :not() псевдо-класс принимает список составных селекторов, в то время как исходная версия допускала только один простой селектор в качестве аргумента.

  • термин селектор был обобщен, поэтому теперь он может относиться к следующие для простоты и краткости:

    • простой селектор
    • соединение селектора
    • комплекс селектор
    • список селекторов (например, компонент "селектор" правила стиля)

некоторые личные заметки:

  • термин "селектор ключей" придуман поставщиками браузеров для использования с реализациями селекторов и не является официальным термином. Однако он часто используется для обозначения "субъекта селектора", поскольку реализации используют субъект селектора в качестве ключа для определения спички.

  • термин "псевдо-селектор" придуман веб-авторами для смешивания псевдо-классов и псевдо-элементов и не является официальным или действительно значимым термином. Хотя вы можете найти его в некоторых ранних проектах W3C CSS2/3, это, вероятно, было ошибкой. пожалуйста, не используйте этот термин, поскольку это напрасно создает путаницу, пытаясь сгруппировать две совершенно разные концепции в один зонтик срок.

  • псевдо-элементы (::pseudo-element) не являются простыми селекторами и поэтому не могут отображаться в местах, где могут быть сопоставлены только фактические элементы. Однако они по-прежнему считаются селекторами для целей синтаксического анализа CSS.

  • типичные правила стиля (или наборы правил) в CSS состоят из селектор и декларации блок.

  • префиксы пространства имен не являются селекторами в их собственные права, но они могут применяться к селекторам типов, универсальным селекторам и селекторам атрибутов для сопоставления компонентов в документе, которые находятся (или не находятся) в пространстве имен.

  • на специфика селектора в настоящее время относится только к одному сложному селектору. При сопоставлении правил для расчета специфичности будет учитываться любой из сложных селекторов в списке, соответствующих данному элементу. Если несколько сложных селекторов соответствуют элемент, наиболее конкретный будет использоваться для расчетов.

    специфичность будет более сложной проблемой с некоторыми селекторами уровня 4, в частности :nth-match() и :nth-last-match(). Поскольку они все еще специфицируются, еще не решено, как все это будет реализовано.


на спецификация предлагает терминологию для этого:

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

последовательность простых селекторов-это цепочка простых селекторов, не разделенных комбинатором. Он всегда начинается с селектора типов или универсального селектора. Никакой другой тип селектор или универсальный селектор разрешен в последовательности.

простой селектор-это селектор типов, универсальный селектор, селектор атрибутов, селектор классов, селектор идентификаторов или псевдокласс.

комбинаторы: пробелы," больше, чем знак "(U+003E,>)," знак плюс "(U+002B,+) и" Тильда " (U+007E,~). Белое пространство может появиться между комбинатором и простыми селекторами. Только символы " пробел "(U + 0020), "вкладка" (U + 0009), "подача строки" (U+000A), " каретка возврат " (U+000D) и "подача формы" (U+000C) могут происходить в пробелах. Другие пространственные символы, такие как "em-space" (U+2003) и "ideographic space" (U+3000), никогда не являются частью пробела.

есть некоторые небольшие терминологические различия между CSS 2 и 3

список основных определений (селектор, группу селекторов, простой селектор и т. д.) был изменен; в частности, то, что в CSS2 называлось простым селектором, теперь называется последовательность простых селекторов, и термин "простой селектор" теперь используется для компонентов этой последовательности


части, разделенные запятыми, называются селекторами.

в селекторе у нас есть simple_selectors и combinators.

посмотреть грамматика.