【问题标题】:CSS pseudo-class vs. pseudo-selectorCSS 伪类与伪选择器
【发布时间】:2010-06-24 15:55:58
【问题描述】:

这是一个有点迂腐的问题,但也许值得一问。 CSS 中的伪类和伪选择器之间是否存在机械差异?我们在这里可以互换使用该术语,但这两个术语似乎是有原因的。区分两者有什么用吗?

【问题讨论】:

    标签: css css-selectors terminology


    【解决方案1】:

    一个pseudo-class is a specified thing,而伪选择器是一个虚构的词。

    (同时,伪类在满足某些条件时匹配元素(例如,鼠标指向它,或者它是其父元素的第一个子元素),而伪元素是可以匹配但不是真正的或完整的元素,例如“元素之前的事物”或“元素中的第一行文本”。)

    【讨论】:

      【解决方案2】:

      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

      所以在我看来,伪选择器似乎不再流行......

      【讨论】:

      • 我想 pseudo-selector 是一个方便的通用术语,用于选择 pseudo-classespseudo-elements我>。只是一个想法(和 Dan Heberden 对他自己的答案的评论类似的想法)。
      • 我迟到了,但是 IMO 对两个完全不相关的事情有一个通用的总称是没有意义的。他们小心地停止使用“伪选择器”一词是一件好事......
      【解决方案3】:

      a pseudo-class 是实际的伪元素,例如:hover、:active 等。

      伪选择器是完整的选择器,包含/使用伪类。比如a:hover, a:active

      pseudo-class 是人​​们应该说/输入的内容。我认为伪选择器来自那些知道存在“伪”和“选择器”的人,所以“为什么不把它们放在一起?”那种东西。

      【讨论】:

      • 我不确定这个伪选择器的概念……你有什么参考资料吗?因为现在我更赞成@david dorward 的回答
      • 我有伪类的引用,因为它被定义为“活动”或“悬停”。术语选择器就是这样,选择器。如果我有 input[name=username] - 那是一个 selector 。没有参考,只有常识和逻辑:)
      • 您的第一句话自相矛盾(伪类不是伪元素)。您的第二句话似乎与人们使用“伪选择器”一词的方式不符,但无论如何,该词是非官方的、口语的并且完全是错误的,这就是为什么没有引用它的原因。
      • 顺便说一下,CSS3 selectors speca:hovera:active 为“简单选择器序列”,CSS4 draft 称它们为“复合选择器”。这些是不被任何组合器分隔的简单选择器链或组。所以我们有一些官方术语可以使用,这让像我这样的学究很开心;)
      • the CSS2.1 spec 的一个重要区别:“伪类 允许在选择器中的任何位置,而伪元素 只能附加在最后一个之后选择器的简单选择器。”通过暂时忘记“伪”而只考虑类和元素之间的区别,它可以帮助我区分两者。
      猜你喜欢
      • 2012-04-05
      • 1970-01-01
      • 1970-01-01
      • 2012-10-10
      • 1970-01-01
      • 2014-02-03
      • 2018-06-22
      • 1970-01-01
      • 2012-06-30
      相关资源
      最近更新 更多