- CSS 教程
- CSS - 教程
- CSS - 简介
- CSS - 语法
- CSS - 选择器
- CSS - 包含
- CSS - 度量单位
- CSS - 颜色
- CSS - 背景
- CSS - 字体
- CSS - 文本
- CSS - 图像
- CSS - 链接
- CSS - 表格
- CSS - 边框
- CSS - border-block 属性
- CSS - 边框内联
- CSS - 边距
- CSS - 列表
- CSS - Padding 属性
- CSS - 光标
- CSS - 轮廓
- CSS - 维度
- CSS - 滚动条
- CSS - 内联块
- CSS - 下拉列表
- CSS - visibility 属性
- CSS - Overflow 属性
- CSS - 清除修复
- CSS - float(浮点)
- CSS - 箭头
- CSS - resize 属性
- CSS - quotes 属性
- CSS - order 属性
- CSS - Position 属性
- CSS - hypens 属性
- CSS - :hover(悬停)
- CSS - display(显示)
- CSS - focus 属性
- CSS - zoom(缩放)
- CSS - translate 属性
- CSS - Height 属性
- CSS - hyphenate-character 属性
- CSS - Width 属性
- CSS - opacity 属性
- CSS - z-index 属性
- CSS - bottom 属性
- CSS - 导航栏
- CSS - 覆盖
- CSS - 表单
- CSS - 对齐
- CSS - 图标
- CSS - 图片库
- CSS - 注释
- CSS - 加载器
- CSS - Atrribute 选择器属性
- CSS - 运算器
- CSS - root
- CSS - 盒子模型
- CSS - 计数器
- CSS - Clip (Obsolete) 属性
- CSS - writing-mode 属性
- CSS - Unicode-bidi 属性
- CSS - min-content 属性
- CSS - 全部
- CSS - inset 属性
- CSS - isolation 属性
- CSS - overscroll-behavior 属性
- CSS - justify-items 属性
- CSS - justify-self 属性
- CSS - tab-size 属性
- CSS - pointer-event 属性
- CSS - place-content 属性
- CSS - place-items 属性
- CSS - place-self 属性
- CSS - max-block-size 属性
- CSS - min-block-size 属性
- CSS - mix-blend-mode 属性
- CSS - max-inline-size 属性
- CSS - min-inline-size 属性
- CSS - offset 属性
- CSS - accent-color 属性
- CSS - user-select 属性
- CSS 高级
- CSS - grid 属性
- CSS - Grid 布局
- CSS - flexbox
- CSS - vertical-align 属性
- css - positioning
- css - layers
- css - pseudo_classes
- CSS - 伪元素
- CSS - @ 规则
- CSS 滤镜 - text-effect 属性
- CSS 分页媒体
- CSS 打印
- CSS - 布局
- CSS - 验证
- CSS - 图像精灵
- CSS - !important
- CSS - 数据类型
- CSS3 教程
- CSS - 圆角
- CSS - 边框图像
- CSS - 多种背景
- CSS - 渐变
- CSS - box-shadow 属性
- CSS - box-decoration-break 属性
- CSS - caret-color 属性
- CSS - text-shadow 属性
- CSS - 2D 转换
- CSS - 3D 变换
- CSS - transition 属性
- CSS - 动画
- CSS - 多列布局
- CSS - 盒子大小调整
- CSS - 工具提示
- CSS - buttons
- CSS - 分页
- CSS - 变量
- CSS - 媒体查询
- CSS - 值函数
- CSS - 数学函数
- CSS - Mask 属性
- CSS - shape-outside 属性
- CSS - 样式图像
- CSS - 特异性
- CSS - 自定义属性
- CSS 响应式
- CSS - 响应式网页设计 (RWD)
- CSS - 响应式设计视口
- CSS - 响应式网格视图
- CSS - 响应式媒体查询
- CSS - 响应式图像
- CSS - 响应式视频
- CSS - 响应式框架
- CSS 引用
- CSS - 所有属性列表
- CSS - 颜色引用
- CSS - 浏览器支持参考
- CSS - 网页字体
- CSS 工具
- CSS - PX 到 EM 的转换
CSS - !important
在 CSS 中,表示法 !important 是一种特殊方式,用于使 CSS 声明优先于适用于同一选择器的其他竞争规则。此声明用于为 CSS 规则提供更高的特异性和优先级,这意味着它将覆盖其他冲突的样式,即使这些样式具有更高的特异性或稍后在样式表中定义。
- 感叹号 (!) 后跟单词 important(不带空格)告诉浏览器将该样式置于所有其他样式之上。
- 此规则更改了浏览器选择要遵循的规则的方式。没有这种特别注意的规则称为正常。
- 至关重要的是,!important 是声明中的最后一个元素,就在终止分号之前。当涉及到允许包含多个关键字的值的属性(例如字体属性)时,此位置尤为重要。
语法
selector {
property: value !important;
}
CSS !important - 基本示例
以下示例演示了如何使用 !important,其中我们通过使用新样式重新定义 .box 类来覆盖基本样式:
<html>
<head>
<style>
/* Base styles */
.box {
width: 200px;
height: 200px;
background-color: red;
margin: 10px;
}
/* Override styles using !important */
.box {
background-color: blue !important;
margin: 20px !important;
}
</style>
</head>
<body>
<div class="box"><h2>DEMO BOX<h2></div>
</body>
</html>
- 请记住,虽然 !important 在特定情况下可能很方便,但最好只在真正需要时才使用它。
- 过于频繁地使用 !important 会使代码更难管理和调试。
- 依靠适当的 CSS 特异性和结构来防止过度使用 !important 是一种很好的做法。
CSS !important - 对级联的影响
级联是一种算法,用于定义用户代理如何组合来自不同来源的属性值。你可以在这里阅读更多关于这方面的信息。
标记为 !important 的规则或属性比标记为 !important 的规则或属性被赋予更高的权重。如果两个规则适用于一个元素,其中一个被标记为 !important,则重要的规则优先。
有三个来源:作者、读者和用户代理。您可以 在此处阅读 有关此内容的更多信息。
在正常情况下,作者的风格胜过读者的风格。重要的读者样式比任何其他样式都强,包括重要的作者样式。作者样式和读者样式都会覆盖用户代理的默认样式。
就声明权重而言,有五个级别需要考虑。按照权重从大到小的顺序,它们是:
- 读者重要声明
- 撰写重要声明
- 编写正常声明
- 读者正常声明
- 用户代理声明
CSS !important - 过渡
但是,过渡是例外。CSS 转换控制属性更改的速度。在这些转换过程中,属性与特定的重要声明不匹配,因此转换是唯一可以覆盖 !important 声明的方面。
以下示例演示了 CSS 过渡如何覆盖 !important 规则,从而在网页上实现流畅且视觉上吸引人的效果。
<html>
<head>
<style>
.box {
width: 200px;
height: 200px;
background-color: red;
transition: background-color 2s;
}
.box:hover {
background-color: blue !important;
}
</style>
</head>
<body>
<div class="box"></div>
</body>
</html>
CSS !important - 内联样式
内联样式是使用 style 属性直接添加到 HTML 元素的样式。这些样式可以是基本的,也可以是重要的。基本内联样式比其他基本样式更强,无论它们在何处定义。
重要的内联样式比 !important 站点样式强,但不如用户或浏览器样式强。但是,样式中的特殊过渡可以覆盖重要的内联样式。
以下示例演示了这一点:
<html>
<head>
<style>
p#bright {color: silver;}
p {color: black !important; }
</style>
</head>
<body>
<p style="color:red !important">Welcome to Tutorialspoint!</p>
</body>
</html>
CSS !重要性和特异性
根据 CSS 规则,如果冲突的声明适用于某个元素,并且它们都具有相同的权重,则应按特定性对它们进行排序,最具体的声明优先。但是,如果属性被声明为重要属性,那么无论选择器特异性与正常声明的匹配程度有多高,来自同一源和级联层的重要声明将始终具有优先级。
当来自同一源和层的两个重要声明适用于同一元素时,浏览器会以最高的特异性选择并使用该声明,如下所示。这里文本的颜色是红色的:
<html>
<head>
<style>
#demo-para p {
color: green !important;
}
p {
color: red !important;
}
</style>
</head>
<body>
<p id="demo-para">Welcome to Tutorialspoint! </p>
<p>A place to find all courses!</p>
</body>
</html>
CSS !important - 对简写属性的影响
当您将 !important 与速记属性一起使用时,它也会对其所有单个属性应用重要性。以下示例是相同的。以下示例:
p {
background: red !important;
}
上述样式等同于:
h2 {
font-variant : normal !important;
font-weight : bold !important;
font-size : 15px !important;
font-family : "Times New Roman", Times, Serif !important;
}
CSS !important - 对自定义属性的影响
当您将 !important 添加到自定义属性中时,这意味着此值非常重要。但是在设置它之后,!important 部分将从值中删除。important 标志不会作为自定义属性值的一部分传递给 var() 函数。
以下代码演示了 !important 对自定义属性的影响:
<html>
<head>
<style>
:root {
--primary-color: blue !important;
--primary-color: red ;
}
.box {
background-color: var(--primary-color) ;
width: 200px;
height: 200px;
}
p {
color: var(--primary-color);
}
</style>
</head>
<body>
<div class="box"></div>
<p>Welcome to Tutorialspoint! </p>
</body>
</html>
CSS !important - 覆盖
以下示例演示了 !important 规则如何覆盖同一属性的另一个 !important 规则。 它允许您控制 CSS 样式的特异性和优先级。当您运行此程序时,您将看到 <div> 内的文本是红色的,第一个 <span> 内的文本是蓝色的,第二个 <span> 内的文本是绿色的。
<html>
<head>
<title>!important Overrides !important</title>
<style>
.demo-important-text {
color: red !important;
}
.demo-important-text span {
color: blue !important;
}
.demo-important-text span span {
color: green !important;
}
</style>
</head>
<body>
<div class="demo-important-text">
This sentence should be red.
<span>
This sentence should be blue.
<span>
This sentence should be green.
</span>
</span>
</div>
</body>
</html>