CSS !important 规则
什么是 !important?
CSS 中的 !important
规则用于为属性/值增加比普通样式更高的优先级。
实际上,如果你使用了 !important
规则,它将覆盖该元素上该特定属性的所有先前样式规则!
让我们看一个例子:
实例
#myid { background-color: blue; } .myclass { background-color: gray; } p { background-color: red !important; }
例子解释
在上面的例子中,所有三个段落都将获得红色背景颜色,尽管 ID 选择器和类选择器具有更高的特异性。!important
规则覆盖了这两种情况下的 background-color 属性。
关于 !important 的重要事项
覆盖 !important
规则的唯一方法是在源代码中包含另一个具有相同(或更高)特异性的声明中的 !important
规则 - 这就是问题的开始!这会使 CSS 代码变得混乱,调试也会变得困难,尤其是在你有大型样式表的情况下!
这里我们创建了一个简单的实例。当你查看 CSS 源代码时,并不十分清楚哪种颜色被认为是最重要的:
实例
#myid { background-color: blue !important; } .myclass { background-color: gray !important; } p { background-color: red !important; }
提示:了解 !important
规则是好的。你可能会在一些 CSS 源代码中看到它。但是,除非你绝对必须使用它,否则不要使用它。
可能有一两个合理使用 !important 的情况
一种使用 !important
的情况是,如果你必须覆盖无法以其他方式覆盖的样式。这可能是因为你在使用内容管理系统(CMS)并且无法编辑 CSS 代码。然后你可以设置一些自定义样式来覆盖某些 CMS 样式。
另一种使用 !important
的情况是:假设你希望页面上的所有按钮都具有特殊的外观。在这里,按钮的样式为灰色背景颜色、白色文本以及一些内边距和边框:
实例
.button { background-color: #8c8c8c; color: white; padding: 5px; border: 1px solid black; }
如果我们将按钮放在具有更高特异性的另一个元素中,按钮的外观有时会发生变化,并且属性会发生冲突。以下是一个实例:
实例
.button { background-color: #8c8c8c; color: white; padding: 5px; border: 1px solid black; } #myDiv a { color: red; background-color: yellow; }
为了“强制”所有按钮无论何时都具有相同的外观,我们可以将 !important
规则添加到按钮的属性中,如下所示:
实例
.button { background-color: #8c8c8c !important; color: white !important; padding: 5px !important; border: 1px solid black !important; } #myDiv a { color: red; background-color: yellow; }