谁能告诉我以下 CSS 是否有效?
.class {
background-color:none;
}
您可能需要
transparent
,因为 none
不是有效的 background-color
值。
background-color
属性做了如下规定:
Value: <color> | transparent | inherit
<color>
可以是关键字或颜色的数字表示。 有效的color
关键字是:
水色、黑色、蓝色、紫红色、灰色、绿色、石灰色、栗色、海军蓝、橄榄色、 橙色、紫色、红色、银色、青色、白色和黄色
transparent
和 inherit
本身就是有效的关键字,但 none
不是。
不,请使用
transparent
代替 none
。请参阅工作示例 here 在本例中,如果您将 transparent
更改为 none
它将不起作用
像
.class { background-color:transparent; }
一样使用
答案是否定的。
.class {
background-color: none; /* do not do this */
}
.class {
background-color: transparent;
}
background-color: transparent
完成了与 background-color: none
相同的任务。
CSS Level 3 指定
unset
属性值。来自MDN:
unset CSS关键字是initial和inherit的组合 关键词。与这两个 CSS 范围内的关键字一样,它可以应用于 任何 CSS 属性,包括 CSS 简写 all。该关键字重置 如果属性是从其父级继承的,则属性为其继承值,或者 如果没有,则返回其初始值。换句话说,它的行为就像 在第一种情况下继承关键字,就像在 第二种情况。
不幸的是,目前并非所有浏览器都支持该值,包括 IE、Safari 和 Opera。我建议暂时使用
transparent
。
.class {
background-color:none;
}
这不是有效的财产。 W3C 验证器将显示以下错误:
在 CSS 规范的开发过程中,可能会选择值错误:背景颜色无不是背景颜色值:无
transparent
作为更好的术语,而不是 0
或 none
值。
所以,我想解释一下我必须使用这个解决方案的场景。基本上,我想撤消另一个 CSS 设置的背景颜色属性。预期的最终结果是使其看起来好像原始 CSS 从未应用过背景颜色属性。设置
background-color:transparent;
使其生效。
写下:
.class {
background-color:transparent;
}
它对我来说很简单
背景:透明;