CSS !important 规则

2023-11-10

CSS !important 规则

那么什么是!important呢?

CSS中的 !important 规则用于向属性/值添加比正常值更重要的内容。

事实上,如果你用 !important 规则,它将覆盖该元素上该特定属性的所有以前的样式设置规则!

让我们看一个例子:#CSS !important 规则

<!DOCTYPE html>
<html>
<head>
<style>
#myid {
  background-color: blue;
}
.myclass {
  background-color: gray;
}
p {
  background-color: red !important;
}
</style>
</head>
<body>
<p>这是段落里面的一些文本。</p>
<p class="myclass">这是段落里面的一些文本。</p>
<p id="myid">这是段落里面的一些文本。</p>
</body>
</html>

!important 的重要性

更改一个!important规则样式的唯一方法是包括另一个在源代码中具有相同(或更高)特定性的声明的!important规则。

这个时候问题就来了!这样做会使得CSS代码很混乱,调试也很困难,特别是当你有一个大样式表的时候!

这里我们创建了一个简单的示例。当您查看 CSS 源代码时,不太清楚哪个颜色被认为是最重要的:

<!DOCTYPE html>
<html>
<head>
<style>
#myid {
  background-color: blue !important;
}
.myclass {
  background-color: gray !important;
}
p {
  background-color: red !important;
}
</style>
</head>
<body>
<p>这是段落里面的一些文本。</p>
<p class="myclass">这是段落里面的一些文本。</p>
<p id="myid">这是段落里面的一些文本。</p>
</body>
</html>

那么!important的使用场景有哪些呢?

覆盖内联样式

内联样式的优先级权重很高,如果不便于改动源码中的样式,那么选用 !important 去覆盖掉原来的内联样式是合适的。因为此时,除了改动源码,还有什么合适的办法可以改动内联样式?似乎没有了吧。然后就是关于“不便改动源码”的理解,例如第三方插件的内联样式,这确实不便于改动。如果是自己开发中的项目,那么改动源码可能比起用 !important 去覆盖更合适。对于一些老旧项目里面的内联样式,这种源码是可以动的,但如果你认为“改动源码”非常费劲,你也有一点理由去使用 !important,但不太建议。

覆盖优先级很高的选择器

除了内联样式,还有一种需要使用 !important 的场景,那就是样式优先级很高,权重很大的样式。优先级很高,权重很大,是啥概念呢?就是除了改源码(代码),几乎没有办法能改动了。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>css-important Demo</title>
    <style>
        #main {
            color: red;
        }
        body #main {
            color: #002afd;
        }
        html #main {
            color: #5dfd00;
        }
        /* 假设这份样式在第三方插件中,除了改动源码,
        还有什么办法可以覆盖 html body #main{} 的样式,样式穿透已经改不动了吧 */
        html body #main {
            color: #2c3e50;
        }
    </style>
</head>
<body>
<div id="main">
    这一段普通的文字
</div>
</body>
</html>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CSS !important 规则 的相关文章

  • 单击表格行可显示更多信息

    我正在尝试使用 jQuery 来实现以下目标 当单击一个表格行时 会显示表格行内的 info div 如果单击另一个表格行 则当前显示的任何其他 info 元素将被隐藏 并根据表格行显示新的 info div已被点击 这个问题是 代码无法正
  • 从 HTML 字符串中解析和选择

    使用 ajax 调用 我返回了页面的partialView HTML 但在显示它之前 我希望从主 div 中提取信息 如果我创建一个浮动窗口 该数据只是大小信息 Code div class window details more data
  • 将 Bootstrap CSS 中的列表居中[重复]

    这个问题在这里已经有答案了 重复报告后编辑 抱歉 我认为建议的重复项实际上可能是重复项 我先尝试了一下 但它对我不起作用 因此出现了一个新问题 再次查看新的建议答案后 我意识到我的问题可能与我正在使用的工具 codepen io 的开箱即用
  • 如何在 Android 上的 PhoneGap 中设置音频播放速率?

    有谁能够让音频播放速率在 Android 上工作吗 媒体播放器似乎覆盖 忽略音频标签的播放速率属性 None
  • 重新加载页面时删除哈希值?

    我使用哈希来切换我的图像滑块 当我重新加载页面并且哈希值设置为 e h 3 没有图片 当图库在几秒钟后自动滑动时 它显示下一个 所以几秒钟内什么也没有 有没有办法在加载页面时检查哈希并将其删除 我只想关心那些用散列为页面添加书签的人 问候
  • 多行有多个提交按钮,我应该为每个按钮制作一个表单吗?

    我列出了大约 20 行 每行代表一个订单 每行需要有 3 个按钮 每个按钮单击将执行不同的操作 我有 3 个操作来处 理每个按钮发布请求 我只是不确定如何为每个按钮设置 Html 表单 tr td td tr
  • 同一元素上的“itemprop”和“rel”属性

    使用是否有效itemprop属性and the rel同一元素上的属性 示例来自Google 的站点名称文档 https developers google com search docs data types sitename包含 这给出
  • Webkit 是否有 CSS3 网格布局的有效实现?

    CSS 网格布局 编辑草案 2011 年 11 月 21 日 http dev w3 org csswg css3 grid align 我正在制作一个原型 该原型将在选定的设备和浏览器上向客户展示 目前我并不担心跨浏览器兼容性 IE10开
  • 检测 Webkit/Chrome 中 HTML5 数字控件更改的事件?

    HTML5 为我们提供了一些新的输入元素 例如
  • CSS 属性选择器类以以下开头但不等于

    我想将 css 应用于以 abcd 开头的所有类 但我不想将该 css 应用于名称为 abcd dontapply 的类 我可以这样做吗 我尝试过的 a class abcd not class abcd dontapply define
  • 使用 jQuery inputmask 插件范围 0-100

    如何创建 0 到 100 范围内的掩码 document ready function masked inputmask 您可以使用jquery inputmask regex extensions js为了那个原因 你可以找到带有所有扩展
  • Bootstrap 响应式表格在 iOS 设备上无法垂直滚动

    这就是我所拥有的 div class table responsive table class table style background transparent table div 我正在使用以下 bootstrap css 文件 ht
  • 如何使用CSS缩放图像以填充div并保持纵横比?

    我想用一个 div 填充img 保持纵横比并根据需要拉伸宽度或高度以适应 div style width 80px height 80px img src div 我怎样才能实现它 如果图像不是二次方的 则必须将其 放大 并根据哪一侧较大而
  • Chrome 19 无法识别字体粗细:较轻

    我刚刚启动了一个正在开发的项目以进行一些修改 并注意到该声明font weight lighter正在通过以下方式提供服务 font face并且它不再在网站上运行 参见图片 顶部镀铬 底部 ff 自昨晚以来 我的系统 Windows 上没
  • Twitter Typeahead 上使用 Bootstrap 3 的 CSS 问题

    随着 Bootstrap 3 的发布 Typeahead 已被删除 取而代之的是 https github com twitter typeahead js https github com twitter typeahead js 我已经
  • Bootstrap 4 移动导航栏消失

    我刚刚从 Bootstrap 3 转换为 Bootstrap 4 但我的移动导航栏出现问题 使用切换按钮展开导航栏时 导航消失 我不明白为什么会发生这种情况 导航栏下方有一个大屏幕 但整个移动导航向上移动 如下面的 gif 所示 以下是导航
  • 从链接打开本地文件夹

    如何通过单击任何链接打开本地文件夹视图 我尝试了很多选择 例如 a href Open folder a or a Open folder a or a Open folder a 解决方案 启动可下载链接 以下内容适用于所有浏览器 但一如
  • 轮播滑动(未滑动)事件上的火灾事件,Bootstrap 3

    Bootstrap 2 似乎可以很好地处理幻灯片事件 请参阅这个问题 https stackoverflow com questions 9651466 how to attach slide slid events to the boot
  • WordPress 子主题包括包含文件

    我在一家WordPress使用 AMPPS 作为本地主机在我的本地计算机上进行设置 使用 Delta 主题 我创建了一个子主题 delta2 child 初始设置效果很好 但是 我需要更改包含文件夹中名为 home slider php 的
  • 我应该创建一个块还是一个元素 BEM CSS?

    Bem官网说 创建一个块如果一段代码可以被重用并且它不依赖于正在实现的其他页面组件 创建一个元素如果一段代码在没有父实体 块 的情况下无法单独使用 我有一个 关于部分 块 它的元素依赖于父级并且不能在网站中重复使用 如何根据 bem 这段代

随机推荐

  • Caused by org.hibernate.AnnotationException No identifier specified for entity:com.beans.UserInfo

    Causedby org hibernate AnnotationException No identifier specified for entity 这是在SpringBoot 整合SpringDataJPA写测试类遇到的错误 意思是
  • 使用QRCoder生成二维码【.NET 6.0】

    nuget 包 QRCoder 二维码 install package QRCoder 1 4 3 粘贴板 install package TextCopy 6 2 1 using QRCoder using Spectre Console
  • 【毕业设计】 单片机自动写字机器人设计与实现 - 物联网 嵌入式 stm32

    文章目录 0 前言 1 简介 2 主要器件 3 实现效果 4 硬件设计 总体框架 AB32VG1主控MCU 5 软件说明 总体框架 6 部分核心代码 7 最后 0 前言 这两年开始毕业设计和毕业答辩的要求和难度不断提升 传统的毕设题目缺少创
  • 【Matlab学习笔记】matlab的编程规则

    1 Matlab的续行符 关于matab的换行 在matlab代码的编写过程中 有时会遇到代码在一行显示不开了 或者在txt文档 或其他代码编辑后 由于其本身格式的作用 代码可能会自动换行 将这样的代码直接粘贴到matlab的命令窗口运行
  • Windows系统安装Java环境

    一 安装jdk 不同平台安装不同的包 Oracle官方下载 Oracle官方各版本 推荐安装jdk1 8 32位操作系统 准备jdk xxx windows i586 exe 64为操作系统 准备jdk xxx windows x64 ex
  • Linux进程间通信方式--本地socket

    先上一个代码 服务端 cpp view plain copy s unix c include
  • js获取任意一天的起始和结束时间戳,sql转换时间戳

    最近写代码时 需要获取任意一天的起始和结束时间 0点和23 59 59这两个时间的时间戳 使用了setHours 方法 setHours 方法用于设置指定的时间的小时字段 1 获取当天开始时间 moment new Date new Dat
  • 巨头推广刷脸支付依旧重重加码

    正如当年支付宝推广二维码 在推广刷脸支付上 巨头依旧重重加码 支持商家实现数字化转型 如此力度推广 对于服务商而言是一块巨大的蛋糕 回想推广二维码时期赚的盆满钵满的服务商们 刷脸支付必然会吸引一大波创业者前来逐利 而刷脸支付的红海就在这两年
  • STM32移植lwip之官方工程修改

    本篇目标 在之前的硬件基础上 修改ST官方移植lwip的工程 使PC机能ping通stm32 材料准备 硬件基础 stm32f407 lan9303 官方资料 包含代码和移植手册 stm32官方移植lwip资料 修改代码 包含移植后的代码
  • CPU特权级保护

    1 特权级 1 1特权级 处理器段保护机制可以识别0 3共4级特权级 数值越大 特权越小 处理器通过识别CPL DPL RPL这三种特权级来进行特权级校验 1 CPL CPL是当前正在执行程序或任务的特权级 它存放在CS和SS段寄存器的0位
  • 柏林噪声算法(Perlin Noise)

    概述 引述维基百科的介绍 Perlin噪声 Perlin noise 又称为柏林噪声 指由Ken Perlin发明的自然噪声生成算法 具有在函数上的连续性 并可在多次调用时给出一致的数值 在电子游戏领域中可以透过使用Perlin噪声生成具连
  • 基于霍尔传感器的三轴磁场检测小装置

    本次项目是制作一个三轴磁场检测的小装置 采用霍尔传感器实现检测 首先我们来介绍一下什么是霍尔传感器 1 霍尔传感器介绍 霍尔传感器是根据霍尔效应制作的一种磁场传感器 磁场中有一个霍尔半导体片 恒定电流I从A到B通过该片 在洛仑兹力的作用下
  • Python打包可执行文件-BeeWare

    前言 本文是想要将python代码打包成在手机上能执行的文件 尝试了几个库 有这也那样的限制 最终还是选了BeeWare 环境 python3 7 x 开始 找到打包有相关工具os android apk builder buildozer
  • sqlserver 快速插入数据 如何使用索引_如何快速安全的插入千万条数据

    前言 最近有个需求解析一个订单文件 并且说明文件可达到千万条数据 每条数据大概在20个字段左右 每个字段使用逗号分隔 需要尽量在半小时内入库 思路 估算文件大小 因为告诉文件有千万条 同时每条记录大概在20个字段左右 所以可以大致估算一下整
  • C++opencv图像裁剪、等比例放大缩小、复制到指定区域

    描述 C 使用opencv时 对imshow图像进行的常见处理 包括图像剪裁 等比例压缩等 待继续补充 代码 1 剪裁 int matrix size 3000 cv Mat image matrix size matrix size CV
  • 【CTF\Crypto】聪明的小羊

    聪明的小羊 题目 解题思路 在线的解密工具 离线的解密工具 心得 题目链接 题目 一只小羊翻过了2个栅栏 fa fe13f590lg6d46d0d0 解题思路 观察题目中的关键信息 2个栅栏 所以我们怀疑题目可能是个栅栏密码 我们看见题目中
  • unity 调用android的activity,Unity调用Android的Activity

    写了关于Unity与Android结合所遇到的问题及解决方法 总结一下 Unity做一个简单的场景 AndroidStudio建一个简单的项目 其中MainActivity是要继承自 UnityPlayerActivity的 这样Unity
  • python学习(5):celery-beat-task异步驱动框架

    https github com celery celery tree master examples celery的example程序periodic tasks存在如下问题 2017 08 26 21 52 11 412 INFO Ma
  • 开发中遇到的问题

    1 当写一个导出功能时 因为编码写URL地址 参数的时候 用反转字符串的时候换行了 造成地址拼接不成 一直报错 后来发现是编码格式造成的 已解决 解决方案 不换行或者用 拼接 2 当本地项目起两个终端的时候 会有两个地址 如http loc
  • CSS !important 规则

    CSS important 规则 那么什么是 important呢 CSS中的 important 规则用于向属性 值添加比正常值更重要的内容 事实上 如果你用 important 规则 它将覆盖该元素上该特定属性的所有以前的样式设置规则