手册
目录
收藏701
分享
阅读4395
更新时间2025-07-16
CSS 中的 !important 规则用于为某个属性/值赋予比正常情况下更高的优先级。
事实上,如果你使用了 !important 规则,它将覆盖该元素上该属性之前所有的样式规则!
让我们来看一个例子:
#myid {<br></br> background-color: blue;<br></br>}<br></br><br></br>.myclass {<br></br>
background-color: gray;<br></br>}<br></br><br></br>p {<br></br> background-color: red !important;<br></br>}
运行实例 » 点击 "运行实例" 按钮查看在线实例
在上面的例子中,尽管 ID 选择器和类选择器具有更高的特异性(specificity),但所有三个段落的背景色都会变成红色。!important 规则在这两种情况下都覆盖了 background-color 属性。
要覆盖一个 !important 规则的唯一方法,是在源代码中使用另一个具有相同(或更高)特异性(specificity)的声明并同样加上 !important。而这也正是问题的开始!这会使 CSS 代码变得混乱,调试起来也很困难,特别是在你拥有一个大型样式表时!
下面是一个我们创建的简单示例。当你查看 CSS 源代码时,哪种颜色更重要并不明显:
#myid {<br></br> background-color: blue !important;<br></br>}<br></br><br></br>.myclass {<br></br>
background-color: gray !important;<br></br>}<br></br><br></br>p {<br></br> background-color: red !important;<br></br>}
运行实例 » 点击 "运行实例" 按钮查看在线实例
提示: 了解 !important 规则是有必要的,你可能在一些 CSS 源代码中会看到它。但是,除非迫不得已,否则不要使用它。
一种使用 !important 的情况是:你必须覆盖某种无法通过其他方式覆盖的样式。例如,你正在使用一个内容管理系统(CMS),而你无法编辑它的 CSS 代码。此时你可以设置一些自定义样式来覆盖 CMS 中的某些样式。
另一种使用 !important 的情况是:假设你希望页面上的所有按钮都具有统一的外观。这里,按钮的样式被设置为灰色背景、白色文字,并带有一些内边距和边框:
.button {<br></br> background-color: #8c8c8c; <br></br> color: white;<br></br>
padding: 5px;<br></br> border: 1px solid black; <br></br>}
运行实例 » 点击 "运行实例" 按钮查看在线实例
有时,当我们把按钮放在具有更高特异性(specificity)的元素内部时,按钮的外观可能会发生变化,因为样式属性发生冲突。如下例所示:
.button {<br></br> background-color: #8c8c8c; <br></br> color: white;<br></br>
padding: 5px;<br></br> border: 1px solid black; <br></br>}<br></br><br></br>#myDiv a {<br></br>
color: red;<br></br> background-color: yellow; <br></br>}
运行实例 » 点击 "运行实例" 按钮查看在线实例
为了“强制”所有按钮都保持统一的外观,无论其父元素如何,我们可以在按钮的属性上添加 !important 规则,如下所示:
.button {<br></br> background-color: #8c8c8c !important; <br></br> color: white
!important;<br></br>
padding: 5px !important;<br></br> border: 1px solid black !important; <br></br>}<br></br><br></br>#myDiv a {<br></br>
color: red;<br></br> background-color: yellow; <br></br>}
运行实例 » 点击 "运行实例" 按钮查看在线实例
相关
视频
RELATED VIDEOS
科技资讯
1
2
3
4
5
6
7
8
9
精选课程
共5课时
17.3万人学习
共49课时
77.9万人学习
共29课时
62.3万人学习
共25课时
39.7万人学习
共43课时
73.6万人学习
共25课时
62.2万人学习
共22课时
23.2万人学习
共28课时
34.4万人学习
共89课时
127万人学习