首页 > 解决方案 > 是否存在术语相邻选择器?

问题描述

此链接中的 MDN讨论了使用相邻兄弟组合器和规范。也谈论组合器,但他们从不将由相邻组合器组合的两个选择器称为选择器。人们通常将相邻组合器的结果称为相邻选择器,这是该术语的非正式用法吗?

标签: csscss-selectorsterminology

解决方案


术语“子选择器”和“相邻兄弟选择器”是 CSS2 规范使用的旧术语,当时“选择器”是一个更宽松的术语(它仍然是,但他们现在更一致地使用它)。它与“上下文选择器”有关,这是 CSS1 所称的使用后代组合器的选择器。CSS2 引入了术语“组合器”来指代符号本身,但组合器本身在技术上并不是选择器,因为它们自己不会选择任何东西;相反,它们表示两个(或多个)选择器之间的关系。MDN 在调用组合器选择器时并不真正正确,但话又说回来,这一切都只是语义。

要回答您的问题,是的,“相邻兄弟选择器”是一个非正式术语。即使在今天,你也可以使用它,因为到目前为止它比“一对具有相邻兄弟组合子的复合选择器”更容易说。顺便说一下,Selectors 4 使用了更清晰明确的名称“next-sibling combinator”。

举个例子:

  • +是相邻的兄弟组合器(选择器 4 中的下一个兄弟组合器),并且
  • E + F是一个相邻的兄弟选择器(next-sibling selector),匹配任何F直接跟在E.

推荐阅读