是background-color:none有效的CSS?

有人能告诉我以下CSS是否有效吗?

.class {
background-color:none;
}
742132 次浏览

不,使用transparent代替none。请参阅本例中的工作示例在这里,如果您将transparent更改为none,它将不起作用

使用像.class { background-color:transparent; }

人力资源> < p > < . class是你要命名的透明类。

您可能希望transparent作为none不是有效的background-color值。

CSS 2.1规范声明了background-color属性的以下内容:

# EYZ0

<color>可以是一个关键字,也可以是颜色的数字表示形式。# EYZ2是:

水,黑色,蓝色,紫红色,灰色,绿色,石灰,栗色,海军,橄榄色, 橙色,紫色,红色,银色,蓝绿色,白色和黄色

transparentinherit本身是有效的关键字,但none不是。

答案是否定的。

不正确的

.class {
background-color: none; /* do not do this */
}

正确的

.class {
background-color: transparent;
}

background-color: transparent实现了与background-color: none相同的功能。

.class {
background-color:none;
}

这不是一个有效的属性。W3C验证器将显示以下错误:

值错误:background-color none不是一个background-color值:none

在CSS规范的开发过程中,transparent可能会被选为更好的术语,而不是0none

CSS Level 3指定unset属性值。从# EYZ1:

unset CSS关键字是初始和继承的组合 关键词。与这两个css范围的关键字一样,它也可以应用于 任何CSS属性,包括CSS简写all。这个关键字重置 如果属性从其父或其父继承,则将属性转换为其继承值 如果不是,则为初始值。换句话说,它就像 的初始关键字一样,在第一种情况下继承关键字 第二个案例。< / p >

不幸的是,目前所有浏览器都不支持这个值,包括IE、Safari和Opera。我建议暂时使用transparent

写这篇文章:

.class {
background-color:transparent;
}

所以,我想解释一下我必须使用这个解决方案的场景。基本上,我想撤销另一个CSS设置的background-color属性。预期的最终结果是使它看起来好像原始CSS从未应用background-color属性。设置background-color:transparent;使其生效。