css中的减号或下划线是做什么的吗?

All*_*onC 10 css

这个问题类似于我在这里提出的问题.我正在清理一些文件,我在这个css中遇到了这个:


.something
{
  height: 33px;
  -height: 34px; /* does this do anything?? /
}

.something
{
  _width: 150px; / does this do anything?? */
}

编辑:好的,所以_(下划线)是IE的css hack,这很好,我只是留下它,但是减号呢,它有什么用呢?

此外,我们不再支持IE 7以下的任何东西,所以如果IE6的任何东西都是黑客,我可以把它拿出来.

Mar*_*cel 11

直接来自W3C CSS 2.1 Spec -

4.1.2.1特定于供应商的扩展

在CSS中,标识符可以以' -'(破折号)或' _'(下划线)开头.以" -或" 开头的关键字和属性名称_保留用于特定于供应商的扩展.

但是,使用下划线为CSS属性添加前缀是一个众所周知的CSS hack,可以在IE 6中应用该规则进行渲染.

由于CSS标识符可以以' -'(破折号)开头并且有效,因此可以用于在开发期间快速注释掉CSS的部分内容.例如,在下面的CSS中,不会设置任何属性h1,只会margin为其设置h2.

-h1 { color:blue; margin:2em; }
h2 { -color:pink; margin:2em; } /* property "-color" not valid */
Run Code Online (Sandbox Code Playgroud)