是背景颜色:没有有效的CSS?

任何人都可以告诉我,如果下面的CSS是有效的?

.class { background-color:none; } 

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

CSS 2.1规范规定了background-color属性如下:

Value: <color> | transparent | inherit

<color>既可以是关键字,也可以是<color>的数字表示。 有效的color关键字是:

黑色,蓝色,紫红色,灰色,绿色,青柠檬,褐红色,海军蓝,橄榄色,橙色,紫色,红色,silverlight,蓝绿色,白色和黄色

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

不,使用transparentnone 。 在这个例子中看到工作的例子,如果你将transparent改为none ,它将不起作用

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


在哪里.class是你会命名你的透明类。

答案是不。

不正确

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

正确

 .class { background-color: transparent; } 

background-color: transparent完成同样的事情background-color: none

 .class { background-color:none; } 

这不是一个有效的财产。 W3Cvalidation器将显示以下错误:

值错误:背景颜色none不是背景颜色值:无

transparent可能已被选为更好的术语,而不是0或在CSS规范的发展过程中none值。

CSS级别3指定了未unset属性值。 来自MDN :

未设置的CSS关键字是初始和inheritance关键字的组合。 与其他两个CSS范围的关键字一样,它可以应用于任何CSS属性,包括CSS速记all。 如果该属性inheritance自其父项,则将该属性重置为其inheritance的值,否则将该属性重置为其初始值。 换句话说,它的行为就像第一种情况下的inheritance关键字,而第二种情况下的初始关键字一样。

不幸的是,目前在所有浏览器中都不支持该值,包括IE,Safari和Opera。 我build议暂时使用transparent