在样式表中,我有这个:
body {
color: white !important;
}
Run Code Online (Sandbox Code Playgroud)
请注意它对本页右侧的文本不起作用:
https://www.graf.ly/graph_templates/56/
您可以检查文本,并查看该样式是否已应用,但随后被覆盖.这怎么可能?
我认为!重要的是忽略CSS特异性,并作为指令始终使用该样式.我以前从未见过这种行为.
注意:
不要被图形轴的白色文本所迷惑,这是一个textsvg元素并且被着色fill: white !important.
另外,我很清楚正确使用!important.所以请不要评论或回答说"你永远不应该使用!重要".那不是问题:)
use*_*437 22
这与CSS特异性无关!important.你在main.css中有一条规则说:
#legend .label {
color: black;
}
Run Code Online (Sandbox Code Playgroud)
选择器.label直接瞄准元素并为它们提供颜色,这可以防止它们从主体或其他祖先继承颜色.一个!important属性仅适用于这是有针对性的元素; 它不会强制其他元素继承该属性.换句话说,指定的规则始终优先于继承的规则,即使该继承的规则是!important.
看规范:
用户代理必须首先根据以下机制为每个属性分配指定的值(按优先顺序排列):
- 如果级联产生值,请使用它.
- 否则,如果继承该属性并且该元素不是文档树的根,请使用父元素的计算值.
- 否则使用属性的初始值.每个属性的初始值在属性的定义中指示.