是背景颜色:没有有效的CSS?
任何人都可以告诉我,如果下面的CSS是有效的?
.class { background-color:none; }
您可能希望transparent
因为none
不是有效的background-color
值。
CSS 2.1规范规定了background-color
属性如下:
Value: <color> | transparent | inherit
<color>
既可以是关键字,也可以是<color>
的数字表示。 有效的color
关键字是:
黑色,蓝色,紫红色,灰色,绿色,青柠檬,褐红色,海军蓝,橄榄色,橙色,紫色,红色,silverlight,蓝绿色,白色和黄色
transparent
和inherit
本身是有效的关键字,但none
不是。
不,使用transparent
而none
。 在这个例子中看到工作的例子,如果你将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
。