css - !important 在 CSS 中是什么意思?

标签 css

!important 在 CSS 中是什么意思?

它在 CSS 2 中可用吗? CSS 3?

在哪里支持?所有现代浏览器?

最佳答案

本质上,它意味着它所说的; “这很重要,忽略后续规则,以及任何常见的特殊性问题,应用这个规则!”

在正常使用中,在外部样式表中定义的规则会被文档的 head 中定义的样式所否决,而该样式又会被元素本身内的内联样式所否决(假设选择器的特异性相同)。使用 !important“属性”(?) 定义规则会丢弃关于“稍后”规则覆盖“较早”规则的正常问题。

此外,通常情况下,更具体的规则会覆盖不太具体的规则。所以:

a {
    /* css */
}

通常被否决:

body div #elementID ul li a {
    /* css */
}

由于后一个选择器更具体(通常情况下,更具体的选择器位于何处(在 head 或外部样式表中)并不重要)它仍然 覆盖不太具体的选择器(内联样式属性将始终覆盖“更多”或“较少”的特定选择器,因为它总是 更具体。

但是,如果您将 !important 添加到不太具体的选择器的 CSS 声明中,它将具有优先权。

使用 !important 有其目的(虽然我很难想到它们),但这很像使用核爆炸来阻止狐狸杀死你的鸡;是的,狐狸会被杀死,但鸡也会被杀死。还有附近。

它还使调试 CSS 成为一场噩梦(来自个人、经验、经验)。

关于css - !important 在 CSS 中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9245353/

相关文章:

html - 下拉 - 悬停时子菜单菜单消失

javascript - 如何在没有_空白页的情况下在新窗口中打开链接?

jquery - 仅当 div 在视口(viewport)中时如何启动 svg 动画

javascript - 制作响应式菜单,css 不适用于某些媒体查询

css - 视频嵌入和图像在一行中的高度相等

html - Flexbox 将一个元素居中对齐,另一个元素在页面底部对齐

css - 链接从 Bootstrap Studio 导出的 CSS 文件的问题

HTML CSS 表格背景

javascript - jQuery CSS 表情崩溃

jquery - 元素 "flickers"和淡出/淡入移动