Asp.net 如何在VisualStudio2008中抑制特定的CSS 2.0验证错误?

Asp.net 如何在VisualStudio2008中抑制特定的CSS 2.0验证错误?,asp.net,visual-studio-2008,css,Asp.net,Visual Studio 2008,Css,我经常使用的一个典型CSS属性是overflow-x或overflow-y。有时我使用CSS 2.1或更高版本的属性或选择器。这些(正确)会引发验证错误: 验证(CSS 2.0):“overflow-y”不是已知的CSS属性名。 多年来我忽视了这一点,但感觉有点不对。对于特定的行、块、文件或项目,可以用C#和其他语言关闭警告。CSS(或HTML)错误或警告是否可能出现类似情况?我更喜欢颗粒度更高的溶液,而不是将其全部关闭。嗨,我刚刚发现了这一点。在VisualStudio2010SP1中,支持H

我经常使用的一个典型CSS属性是
overflow-x
overflow-y
。有时我使用CSS 2.1或更高版本的属性或选择器。这些(正确)会引发验证错误:

验证(CSS 2.0):“overflow-y”不是已知的CSS属性名。


多年来我忽视了这一点,但感觉有点不对。对于特定的行、块、文件或项目,可以用C#和其他语言关闭警告。CSS(或HTML)错误或警告是否可能出现类似情况?我更喜欢颗粒度更高的溶液,而不是将其全部关闭。

嗨,我刚刚发现了这一点。在VisualStudio2010SP1中,支持HTML5验证

Tools->Options->Text Editor->HTML->Validation

现在就我个人而言,因为我讨厌VS告诉我我有重复的ID(这对于非服务器控件很好),我关闭了所有警告,并将我的验证设置为XHTML5(这是一个选项)


不过,您可以调整设置,直到心满意足。遗憾的是,这并不是特定于项目的,其他团队成员也需要这样做。

如果你愿意多做一点,你就能得到你想要的

  • 转到Visual Studio文件夹\Common7\Packages\1033\schemas\CSS
  • 将css21.xml复制到css21mod.xml
  • 查找以下部分:

    <cssmd:property-def _locID="overflow" ...
    

    所以这就是发生在我身上的事。我有一个成功的工作项目。我复制了一份,开始做一些标签的修改。我开始变得 “验证(CSS 2.0):'overflow-y'不是已知的CSS属性名。”

    即使在重新打开项目后,上述错误仍不断出现

    所以我回到我原来的项目,打开,开始调试,看看我在那个项目中是否也遇到了那个错误。这个项目成功地完成了。停在那里。来到我的新错误抛出项目,现在错误不再存在


    想一想是什么导致它消失的。记忆中的东西。可能与Jeremy Child建议的类似,但特定于Visual studio 2008(如原始问题中所述):

    工具->选项->文本编辑器->CSS->特定于CSS:取消选中 “检测未知属性”


    这将删除所有CSS验证。如果您需要快速解决问题(我没有时间/有点懒得在xml文件中手动添加每个属性并检查windows注册表…),如果您擅长CSS(当您使用内置intellisense或您确信有效的样式时,不需要验证-例如,从您以前使用过的网站获取的样式),这是一个很好的解决方案.

    获取对CSS 3.0的支持,以抑制某些警告:


    不幸的是,在VS 2008中,它要么全是要么全是……是的,它真的很糟糕。难道没有类似事件接收器的东西,比如
    OnReportError
    或者任何我可以通过自制的插件绑定到的东西,然后只忽略一个特定的列表吗?@Nick:很高兴你终于被证明是错的,请参阅下面卡尔的新答案;)谢谢,但这个问题是相关的,但不等于这个问题:我想忽略特定的警告(例如,在C#中可以忽略警告)。完全关闭CSS警告不是我想要的(请参阅我问题的最后一行)。我没有XHTML5的选项。但不管怎样,其他选项不允许您抑制特定的CSS 2.0验证错误,只有全部(某种类型)或无。而且许多类型根本不能被抑制,只能完全打开或关闭。我不确定我的XHTML5验证是从哪里得到的,但它解决了CSS3验证的问题,我已经收到了警告。是的,可悲的是,它要么打开要么关闭。如果你对你的xhtml/css功能感到满意,那么关闭它们是非常安全的。非常好的解决方案!我当然希望扩展CSS验证是可能的,这肯定说明了如何扩展CSS验证。谢谢(注意:不要复制/粘贴制表符,它们不起作用,用空格替换它们)如果您只想关闭无效属性警告,并且您觉得如果您键入了一个错误,无需通知您,工具->选项->文本编辑器->CSS->杂项->取消选中:检测未知属性-我不想将此作为答案提交,因为我永远不希望它取代上述内容,但我确实觉得人们应该知道此选项。对我来说,如果相关文件未在编辑器中打开,CSS错误就会消失。当您看到错误并关闭文件时,CSS错误将消失。
    <cssmd:property-def 
        _locID="overflow-x" _locAttrData="description,syntax" 
        type="enum" 
        description="Visibility of content extending beyond element's dimensions in x"
        syntax="One of the overflow values | inherit" 
        enum="inherit auto hidden scroll visible"/>
    
    <cssmd:property-def 
        _locID="overflow-y" _locAttrData="description,syntax" type="enum" 
        description="Visibility of content extending beyond element's dimensions in y" 
        syntax="One of the overflow values | inherit" 
        enum="inherit auto hidden scroll visible"/>