谁能解释一下在css样式中什么是重要的?
当我看其他网站的css有时他们使用它,但为什么?我不是很理解这个重要的"工作":D谢谢…
!important
规则是一种使您的CSS cascade
同时也具有您的规则的方法感觉总是最关键的。具有!important
属性的规则无论该规则出现在CSS文档的哪个位置,都会被应用。因此,如果您想确保一个属性总是应用,您将添加!important
属性到标签。因此,要使段落文本始终为红色,在上面的例子中,你可以这样写:
p { color: #ff0000 !important; }
p { color: #000000; }
在你的CSS中使用!important
通常意味着你很自恋&自私或懒惰。尊重未来的开发者…
更多关于
更多关于此链接2
!important
是CSS1的一部分
是什么?
!important
覆盖其他没有它的样式。以下是CSS的基本优先级顺序:
-
!important
规则 -
更具体的规则
.classNameA .classNameB {} /* more specific */ .classNameB {}
-
规则的顺序
.classNameB {} .classNameB {} /* takes priority */
.classNameB .classNameA {
background-color: red;
}
.classNameA {
background-color: blue !important;
}
.classNameB .classNameA {
background-color: red;
}
.classNameA {
background-color: blue !important;
}
尽管.classNameA
在第一条规则中更具体,但由于!important
, .classNameA
的background-color
是blue
。
你应该使用它吗?
不,不惜一切代价避免它。只有在绝对必要的情况下才使用它,如果你发现自己处于这种情况下,考虑重构你的CSS。这样做的原因是因为当你到处都是!important
规则时,很难改变你的CSS。这也是一个糟糕的CSS设计的标志。
进一步阅读
- Smashing杂志-重要的CSS声明:如何以及何时使用它们
- CSS技巧-当使用!重要的是正确的选择
!important
设置priority
的css属性。如果你有两个相同的CSS属性,但有不同的值,一个!important
标记将把优先级设置为HIGH。
通常,后面的CSS声明会推翻前面的。因此,如果您在样式表中为某个元素声明了某种背景色,而页面本身的样式块或内联样式为该元素声明了另一种背景色,则样式块或内联样式将推翻样式表。
如果将!important
添加到样式表中的声明中,则该声明不会被否决。