【问题标题】:CSS validation not validatingCSS 验证未验证
【发布时间】:2013-11-16 13:56:17
【问题描述】:
/* ** ** custom select color ** ** */
::selection {
 background: #525252; /* Safari */
}
::-moz-selection {
 background: #525252; /* Firefox */
 color:#fff;
}

上面的代码没有通过 W3C 验证器,但我不明白它的原因。

返回如下错误:

伪元素 ::selection 不能 出现在上下文 css21 中 [选择]

伪元素 ::-moz-selection 不能出现在这里 上下文 css21 [-moz-selection]

【问题讨论】:

  • 通常他们会给你一个理由。它可能是 -moz 前缀。

标签: validation css w3c-validation


【解决方案1】:
1        The pseudo-element ::selection can't appear here in the context css21 [selection]
4        The pseudo-element ::-moz-selection can't appear here in the context css21 [-moz-selection]

这没什么好担心的,第一个抱怨是因为它正在针对 CSS2.1 进行测试,而第二个,正如 Kyle 建议的那样,是因为 -moz 前缀

要消除第一个“错误”,请执行以下操作:

单击更多选项链接并将配置文件更改为 CSS 3。

这不能消除第二个错误,应该学会忽略这种错误。我知道这听起来很痛苦,除非有人可以提供替代建议?

【讨论】:

  • 我怎样才能让它静音,所以我知道要在 css 中寻找哪些部分,而不是每次都检查。使用大的 css 文件会出现问题。
  • 另外,::selection 已从选择器级别 3 中删除:w3.org/TR/css3-selectors/#selection
  • 在验证器的未来版本中,可能会有忽略 -vendor- 前缀的模式。
  • @karlcow 有一种模式可以将供应商前缀注册为警告而不是错误,您可以在上面的屏幕截图中看到下拉菜单
  • 是的,已经修复了。 :) 在提交期间我一定在睡觉。
【解决方案2】:
::-moz-selection

Mozilla/Webkit 特定的 CSS 元素即使在 CSS 级别 3 下也不会验证。

【讨论】:

    【解决方案3】:

    今天,即使是 ::selection 也有问题,因为它是从 CSS3 中删除的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-19
      • 2014-01-08
      • 2018-01-18
      相关资源
      最近更新 更多