微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

css – 选择器的部分和部分的正确术语和单词

使用逗号分隔的CSS选择器部分的正确术语是什么?
body.foo .login,body.bar .login { ... }
/*                  |
           Part 1   |  Part 2         */

在这些部分中,由组合器(空格,>等)分隔的部分的术语是什么?

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

解决方法

What is the correct term for the sections of CSS selectors that are separated by commas?

目前,这些只是简单地称之为选择器,这真的不适合我. In future,他们将被更好地定义为复杂的选择器.

整个逗号分隔列表被称为选择器列表或组.

Within those sections,what is the term for the parts separated by combinators (spaces,+,>,etc)?

目前,这些被称为简单选择器的序列.将来,它们将被称为复合选择器.

因此,选择器列表由一个或多个由逗号分隔的复杂选择器组成,每个复合选择器由两个主要部分组成:复合选择器和组合器.它也可以包含伪元素.

因为我在这里,这里是其余的定义…

Selectors level 3总结如下:

>一个简单的选择器是选择器的一个基本组件.它是以下任何一种:

>通用选择器(*),optionally with a namespace
>类型选择器(a,div,span,ul,li等),optionally with a namespace
>属性选择器([att],[att = val]等),optionally with a namespace
>类选择器(.class)
> ID选择器(#id)
>伪类(:伪类)

组合器是选择器的另一个基本组件.它是一个符号或令牌,它分离两个复合选择器,在其位置建立由两个复合选择器表示的两个元素之间的关系.目前有四个组合器在使用:

>后代组合器:

article p

>儿童组合器

/* 
 * The extra spaces in between are whitespace,* and are therefore insignificant.
 */
ul > li

>相邻的兄弟组合器:

header + section

一般兄弟组合者:

h2 ~ p

更多的组合器可能会在后面的规范中引入.
>一个简单的选择器序列是一个不被组合器分隔的简单选择器链:

a:not([rel="external"]):hover

>选择器(我讨厌这个定义)是一个完整的字符串,由组合器链接的选择器序列组成:

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

Selectors level 4重新定义了一些术语,结果使事情变得模糊不清,不太笨拙:

>一系列简单选择器现在称为复合选择器.
>复选框名称现在被赋予了“选择器”的CSS3定义(也就是一串复合选择器和组合器).
>一组一个或多个复合/复合选择器现在正式被称为选择器列表.这个术语本身目前不区分两者,我不会很快看到这种改变.

但是,如果您阅读某些功能伪类的语法,则会描述他们正在寻找什么样的选择器列表.例如,enhanced :not() pseudo-class接受复合选择器的列表,而原始版本只允许单个简单的选择器作为其参数.
>术语选择器已被推广,因此为了简单起见,现在可以参考以下任何一个

>简单选择器
>复合选择器
>复选框
>选择器列表(例如样式规则的“选择器”组件)

一些个人笔记:

>“选择器”一词由浏览器供应商创建,用于选择器实现,而不是官方术语.然而,它通常用于表示“选择器的主题”,因为实现恰好将选择器的主题用作确定匹配的关键.
>术语“伪选择器”由网络作者创造,以混合伪类和伪元素,而不是一个官方的,甚至是有意义的术语.虽然你可以在一些早期的W3C CSS2 / 3草案中找到它,但这可能是一个错误. Please don’t use this term,因为它不必要地通过试图将两个完全不同的概念组合成一个单一的术语来造成混乱.
>伪元素(::伪元素)不是简单的选择器,因此不能出现在只有实际元素可能匹配的地方.但是,为了CSS解析,它们仍然被认为是选择器.
> CSS中的典型样式规则(或规则集)由选择器和声明块组成.
>命名空间前缀本身不是选择器,但它们可以应用于类型选择器,通用选择器和属性选择器,以匹配(或不是)命名空间的文档中的组件.
>选择器的specificity目前仅指单个复选框的选择器.当匹配规则时,匹配给定元素的列表中的任何复杂选择器将被考虑用于特异性计算.如果多个复选框与元素匹配,则最具体的选择将用于计算.

特定性将是一个更复杂的问题,一些4级选择器,特别是:nth-​​match()和:nth-​​last-match().由于他们仍然被认定,尚未决定如何实施这些任务.

原文地址:https://www.jb51.cc/css/214266.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。