什么会导致错误'(CSS 3.0):": - webkit-autofill"不是一个有效的伪类。'

时间:2016-10-14 11:14:22

标签: html css3 visual-studio-2015

我有一个使用Visual Studio 2015构建的MVC Web应用程序。

我的某些表单会对输入元素使用自动填充,但在使用Chrome时,由于Chrome用户代理样式表,自动填充的字段会留下令人反感的淡黄色背景。广泛接受的解决方案是使用以下CSS来呈现没有黄色背景的输入:

input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px white inset !important;
}

这种方法在我之前的所有项目(使用Visual Studio 2013构建)中都运行良好。

但是,在我的CSS文件中,上面的代码显示为无效,并出现以下错误:

  

验证(CSS 3.0):": - webkit-autofill"不是一个有效的伪类。

我以前的项目使用CSS3,他们正在识别伪类并按预期应用样式。我在这里搜索了Q& A,并搜索了错误,但我找不到解决此问题的任何内容。

请有人了解a)可能导致此错误的原因,以及b)任何可能的解决方案。

为了进一步澄清,我在Site.css文件的最底部应用了样式,并且没有可以覆盖预期行为的内联样式。开发人员工具确认未应用样式,这表明错误确实是阻止样式应用的错误。

由于我以前的VS2013项目认可伪类,我假设VS2015中的某些设置可能是原因,但我找不到任何确认的。

任何建议都将受到赞赏。

非常感谢

1 个答案:

答案 0 :(得分:2)

由于:-webkit-autofill是一个Non-standard css伪元素,因此Visual Studio 2015会因为默认配置而导致该错误,以纠正.css错误。

您可以执行的操作是禁用它,进入:Tools > Options > Text Editor > CSS > Advanced然后切换,在右侧窗格中取消选中“验证”。这些名字可能略有不同,因为我正在翻译我的母语。

希望它有所帮助!