【发布时间】:2010-06-24 15:55:58
【问题描述】:
这是一个有点迂腐的问题,但也许值得一问。 CSS 中的伪类和伪选择器之间是否存在机械差异?我们在这里可以互换使用该术语,但这两个术语似乎是有原因的。区分两者有什么用吗?
【问题讨论】:
标签: css css-selectors terminology
这是一个有点迂腐的问题,但也许值得一问。 CSS 中的伪类和伪选择器之间是否存在机械差异?我们在这里可以互换使用该术语,但这两个术语似乎是有原因的。区分两者有什么用吗?
【问题讨论】:
标签: css css-selectors terminology
一个pseudo-class is a specified thing,而伪选择器是一个虚构的词。
(同时,伪类在满足某些条件时匹配元素(例如,鼠标指向它,或者它是其父元素的第一个子元素),而伪元素是可以匹配但不是真正的或完整的元素,例如“元素之前的事物”或“元素中的第一行文本”。)
【讨论】:
pseudo-selector 在 W3C 网站上确实出现了奇怪的外观,但我最初的搜索表明它是一个旧术语,现在已被 pseudo-class:
伪选择器
页面伪选择器:first
http://www.w3.org/TR/2004/CR-css-print-20040225/#section-selectors
CSS 有一个“lang”伪选择器,它会根据媒体类型自动使用适当的属性
http://www.w3.org/TR/xhtml-media-types/
伪类
5.11.4 语言伪类::lang
http://www.w3.org/TR/CSS2/selector.html#lang
...还有更多。
伪元素和伪类
然后是伪元素和伪类的描述:
http://www.w3.org/TR/CSS2/selector.html#pseudo-elements
所以在我看来,伪选择器似乎不再流行......
【讨论】:
a pseudo-class 是实际的伪元素,例如:hover、:active 等。
伪选择器是完整的选择器,包含/使用伪类。比如a:hover, a:active
但pseudo-class 是人们应该说/输入的内容。我认为伪选择器来自那些知道存在“伪”和“选择器”的人,所以“为什么不把它们放在一起?”那种东西。
【讨论】:
input[name=username] - 那是一个 selector 。没有参考,只有常识和逻辑:)
a:hover 和a:active 为“简单选择器序列”,CSS4 draft 称它们为“复合选择器”。这些是不被任何组合器分隔的简单选择器链或组。所以我们有一些官方术语可以使用,这让像我这样的学究很开心;)