什么';空CSS声明的预期行为是什么?

什么';空CSS声明的预期行为是什么?,css,Css,例如: .foo { font-family: ; font-size: ; } 我在IE9和Chrome中看到了不同的行为。IE9似乎用它来消除这些属性(尽管,目前我在不同页面上的行为并不一致) 在Chrome中,它似乎只是忽略了它 什么是真正的预期行为?这是有效的CSS吗?这是无效的CSS 浏览器应该忽略没有值的声明(并且只忽略每个声明,而不是整个块或无效声明之后的所有内容)。从(不相关的代码示例省略): 声明格式不正确。用户代理必须通过读取直到声明结束来处理解析声明时遇到的意外标记,同

例如:

.foo { font-family: ; font-size: ; }
我在IE9和Chrome中看到了不同的行为。IE9似乎用它来消除这些属性(尽管,目前我在不同页面上的行为并不一致)

在Chrome中,它似乎只是忽略了它

什么是真正的预期行为?这是有效的CSS吗?

这是无效的CSS

浏览器应该忽略没有值的声明(并且只忽略每个声明,而不是整个块或无效声明之后的所有内容)。从(不相关的代码示例省略):

  • 声明格式不正确。用户代理必须通过读取直到声明结束来处理解析声明时遇到的意外标记,同时遵守()对、[]、{}、“”对和“”对的匹配规则,并正确处理转义。例如,格式错误的声明可能缺少属性、冒号(:)或值。以下各项均相当:

    p { color:green }
    p { color:green; color: } /* malformed declaration missing value */
    p { color:red;   color:; color:green } /* same with expected recovery */
    

Chrome是对的。请参见:
p{color:green;color:}
此处:

您可以使用W3C验证服务来确定它是否有效:(“教人钓鱼”等等)@Matt Ball谢谢!不过,它目前不起作用:)