【问题标题】:W3C CSS Validation parse error on variablesW3C CSS Validation 变量解析错误
【发布时间】:2019-08-26 16:27:55
【问题描述】:

我正在通过 Atom 上的 W3C CSS Validation 包传递我的 .css 文件,它实际上给了我一个“解析错误”消息,该消息实际上是针对为练习而创建的所有变量。下面是 :root 伪类的开头(但所有剩余的变量声明都同样错误)

我已经尝试从头开始重写它们,替换它们或更改值只是为了检查行为,但没有任何改变。

:root {
  --primary-color: #781820;
  --secondary-color: #ABABAB;
  --tertiary-color: #cead00;
  --backup-color: #FAFAFA;
...

除了修复错误之外,我还想了解它们的所在位置以便更好地了解流程。

【问题讨论】:

  • 这真的不是问题。 CSS vars 在技术上仍然是候选推荐的一部分——尽管被广泛采用并且 W3C 验证器不支持它们。这是 github 问题:github.com/w3c/css-validator/issues/111
  • w3 验证是否针对 IE11 等浏览器进行验证?某些版本的 IE 不完全支持 CSS 变量。
  • @KrisHollenbeck 不,W3C 验证是根据已发布的 W3C 规范验证代码。
  • 抱歉耽搁了,伙计们。 \肠胃炎使我昏倒了一个星期。 disinfor 邮寄了它。这不是问题。

标签: css w3c css-variables


【解决方案1】:

如上所述,这不是问题。 CSS 变化太快,Jigsaw W3C CSS 验证器跟不上,it can no longer be relied on 检查除了最成熟的功能集(如 CSS2 和最早的 CSS3 规范)之外的任何东西。

遗憾的是,它现在甚至不能可靠地用于检查粗心的错误(这一直是它的目的),因为真正的错误经常被许多这些虚假错误所掩盖。例如,它可能不会发现真正的拼写错误,因为它被它不支持的这些功能之一抛出了几行。

目前最可靠的验证器是在浏览器中进行测试,并假设如果它在所有方面都始终如一地工作,那么它就是有效的。或者,如有疑问,请在此处提问,并希望熟悉规格的人回答。如果有人问您是否尝试过验证您的 CSS,请指出我。

【讨论】:

  • 需要一些设置,但您可以尝试使用 CSS linter,例如 stylelint:stylelint.io
  • 有趣的是,我发现了一个用于 VSCode 的 W3C 验证器扩展,它比网站更新得多。它仍然挂在导入的字体上,但我可以使用变量和其他较新的功能,只需单击一下即可检查它是否有效,也许检查一下
  • @Alfredo Awesome Monazite:它可能是几个非官方扩展之一。各种平台上有许多第三方验证器,它们的更新节奏比 W3C 自己的更及时。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-14
  • 1970-01-01
  • 2018-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多