有人能告诉我以下CSS是否有效吗?
.class { background-color:none; }
不,使用transparent代替none。请参阅本例中的工作示例在这里,如果您将transparent更改为none,它将不起作用
transparent
none
使用像.class { background-color:transparent; }
.class { background-color:transparent; }
您可能希望transparent作为none不是有效的background-color值。
background-color
CSS 2.1规范声明了background-color属性的以下内容:
# EYZ0
<color>可以是一个关键字,也可以是颜色的数字表示形式。# EYZ2是:
<color>
水,黑色,蓝色,紫红色,灰色,绿色,石灰,栗色,海军,橄榄色, 橙色,紫色,红色,银色,蓝绿色,白色和黄色
transparent和inherit本身是有效的关键字,但none不是。
inherit
答案是否定的。
.class { background-color: none; /* do not do this */ }
.class { background-color: transparent; }
background-color: transparent实现了与background-color: none相同的功能。
background-color: transparent
background-color: none
这不是一个有效的属性。W3C验证器将显示以下错误:
值错误:background-color none不是一个background-color值:none
在CSS规范的开发过程中,transparent可能会被选为更好的术语,而不是0或none。
0
CSS Level 3指定unset属性值。从# EYZ1:
unset
unset CSS关键字是初始和继承的组合 关键词。与这两个css范围的关键字一样,它也可以应用于 任何CSS属性,包括CSS简写all。这个关键字重置 如果属性从其父或其父继承,则将属性转换为其继承值 如果不是,则为初始值。换句话说,它就像 的初始关键字一样,在第一种情况下继承关键字 第二个案例。< / p >
不幸的是,目前所有浏览器都不支持这个值,包括IE、Safari和Opera。我建议暂时使用transparent。
写这篇文章:
所以,我想解释一下我必须使用这个解决方案的场景。基本上,我想撤销另一个CSS设置的background-color属性。预期的最终结果是使它看起来好像原始CSS从未应用background-color属性。设置background-color:transparent;使其生效。
background-color:transparent;