以hash(#)开头的CSS属性是否有效?

时间:2011-08-23 13:01:45

标签: css

以下CSS有何作用,是否有效?

h4 {
    width: 83%;
    #width: 75%;
}

6 个答案:

答案 0 :(得分:6)

无效。 #width: 75%;是一个语法错误,因为CSS属性名称中没有使用#(尽管它在CSS选择器中用于选择具有特定id s的元素)。大多数浏览器都会忽略它(希望如此),只会应用第一个规则。

可能是某人尝试编写CSS评论。这是有效的方式:/*This is a comment*/

修改

我建议使用CSS reset file来解释浏览器差异。

答案 1 :(得分:5)

显然有一个hash hack看起来与你所拥有的完全相同,但我不知道作者试图定位或过滤的具体浏览器是什么,因为没有任何可靠的结果来确定哪些浏览器应用了规则和什么不(用户代理字符串的looooooong列表不是我称之为可靠的;我称之为不一致)。

在任何情况下,哈希都不是属性名称的有效字符。我确信任何不是IE的人都会直接丢弃它。

答案 2 :(得分:3)

在属性应用不同的css样式之前使用#即7.是一个css hack,如*。为了使其有效,您可以使用conditional comments作为ie。

答案 3 :(得分:2)

根据我在http://developer.expressionz.in/blogs/2007/09/08/for-your-ies-only/上所读到的,哈希黑客旨在使规则仅对IE浏览器可见。由于 - 正如其他人已经提到的 - 不是有效的属性,其他浏览器会忽略它。

答案 4 :(得分:2)

顺便说一句,如果第二个宽度前面没有#,则宽度= 75%而不是83%。最后一个值总是覆盖前面的所有值。正如其他人指出的那样,它可能是一个黑客,我不知道,但很可能是语法错误。

答案 5 :(得分:2)

基本上回答你的两个问题。

  • 该属性之前的#目标是IE7& IE6(及更低版本)
  • 不,它无效。

我问了同样的问题,那里有更多可能对其他人有帮助的信息:

发布:" CSS - "#" sign before property"