【问题标题】:Is this a valid CSS Selector? [closed]这是一个有效的 CSS 选择器吗? [关闭]
【发布时间】:2017-12-07 17:54:42
【问题描述】:

关于以下表达式:

radio:focus > .approve, radio:focus > .dis-approve{/*statements...*/}

它是否被 CSS 解释器/编译器接受?

目标:当 .approve 和 .dis-approves 的单选型父项都处于焦点时适用。

【问题讨论】:

  • 写作radio你的意思是“radio'类型input”?
  • 请澄清您的具体问题或添加其他详细信息以准确突出您的需要。正如目前所写的那样,很难准确地说出你在问什么。
  • 这是您应用相同属性的两个选择器...不是单个选择器。
  • 它不是有效的 HTML。 radio 不是元素,你的意思是input type="radio"?而且我认为您不能在 inputs 中嵌套元素。
  • 您可能正在寻找以下内容:[type="radio"]:focus + .approve, [type="radio"]:focus + .dis-approve { /*...*/ }[type="radio"]:focus ~ .approve, [type="radio"]:focus ~ .dis-approve { /*...*/ }?检查here +~ 是什么意思。

标签: css dom css-selectors pseudo-class


【解决方案1】:

它是有效(见BoltClock's comment),但你会发现它不会匹配任何东西,因为它有几个问题:

  1. radio 不是有效的 HTML 元素。你是说input[type=radio]吗?
  2. 如果您的意思是input[type=radio],则该元素不能有子元素,因此> .approve> .dis-approve 不会选择任何内容。您的意思是 + .approve+ .dis-approve 指向此元素旁边的元素吗?

了解您的 CSS 是否有效的最佳方法是将您的 CSS 应用到一个 HTML 结构中,然后看看会发生什么。

【讨论】:

  • “无效”和“不会匹配任何东西”不是一回事。一个不匹配的有效选择器不会使列表中的所有其他选择器(以及整个规则集)无效。在这种情况下,列表中的选择器都不会匹配任何内容,因此没有区别,但开头的“否”。如果将其解释为“它是否被 CSS 解释器/编译器接受?”的答案,则答案似乎不正确。不过,其余的答案很好,因为“它被 CSS 解释器/编译器接受了吗?”几乎肯定不是提问者想问的问题。
  • @BoltClock 很好的回应!诚然,我的回答非常懒惰。我已经更新了我的答案以链接到您的评论,以解释为什么它是有效的,但几乎可以肯定不会选择 OP 的标记。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-07-25
  • 1970-01-01
  • 2015-07-06
  • 2020-07-20
  • 2017-03-21
  • 2023-04-07
  • 2020-03-19
相关资源
最近更新 更多