【CSS】CSS 特性 ( CSS 优先级 | 优先级引入 | 选择器基本权重 )

一、CSS 优先级

1、优先级引入

定义 CSS 样式时 , 可能出现 多个 类型相同的 规则 定义在 同一个元素上 ,

  • 如果 CSS 选择器 相同 , 执行 CSS 层叠性 , 根据 就近原则 选择执行的样式 , 如 : 出现两个 div 标签选择器 , 都设置 color 文本颜色 ;

    复制代码
    	<style>
    		div {
    			color: red;
    			font-size: 30px;
    		}
    
    		div {
    			color: blue;
    		}
    	</style>
  • 如果 CSS 选择器 不同 , 则需要考虑 CSS 优先级 问题 , 需要计算对应的 选择器 权重 ;

2、选择器基本权重

  • 继承父类样式 选择器 , 权重 0,0,0,0 ;

    复制代码
    		/* 0. 继承父类样式 权重 0,0,0,0 */
    		body {
    			color: red;
    		}
  • 通配符选择器 * , 权重 0,0,0,0 ;

    复制代码
    		/* 0. 通配符选择器 权重 0,0,0,0 */
    		* {
    			color: red;
    		}
  • 标签选择器 , 权重 0,0,0,1 ;

    复制代码
    		/* 1. 标签选择器 权重 0,0,0,1 */
    		div {
    			color: pink
    		}
  • 类选择器 , 权重 0,0,1,0 ;

    复制代码
    		/* 2. 类选择器 权重 0,0,1,0 */
    		.one {
    			color: blue;
    		}
  • ID 选择器 , 权重 0,1,0,0 ;

    复制代码
    		/* 3. ID 选择器 权重 0,1,0,0 */
    		#two {
    			color: green;
    		}
  • 行内样式表 , 权重 1,0,0,0 ;

    复制代码
    	/* 4. 行内样式表 权重 1,0,0,0 */
    	<div class="one" id="two" style="color: purple;"> 选择器权重 </div>
  • 任何选择器中 样式后 添加 !important 权重会被提升为无穷大 , 即使在最低级的 标签选择器样式后添加 !important , 其样式的权重也会被强行提高到最高级 , 权重无穷大 ;

    复制代码
    		/* 5. 任何选择器中 样式后 添加 !important 权重最高 */
    		div {
    			color: pink!important;
    		}

    3、完整代码示例

    完整代码示例 :

    复制代码
    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<title>Document</title>
    	<style>
    		/* 0. 继承父类样式 权重 0,0,0,0 */
    		body {
    			color: red;
    		}
    		/* 0. 通配符选择器 权重 0,0,0,0 */
    		* {
    			color: red;
    		}
    	
    		/* 1. 标签选择器 权重 0,0,0,1 */
    		div {
    			color: pink
    		}
    		
    		/* 2. 类选择器 权重 0,0,1,0 */
    		.one {
    			color: blue;
    		}
    		
    		/* 3. ID 选择器 权重 0,1,0,0 */
    		#two {
    			color: green;
    		}
    		
    		/* 4. 行内样式表 权重 1,0,0,0 */
    		
    		/* 5. 任何选择器中 样式后 添加 !important 权重最高 */
    		div {
    			color: pink!important;
    		}
    	</style>
    </head>
    <body>
    	/* 4. 行内样式表 权重 1,0,0,0 */
    	<div class="one" id="two" style="color: purple;"> 选择器权重 </div>
    </body>
    </html>

    展示效果 : 最终展示的效果是 color: pink!important; 效果 , 其权重无穷大 ;

相关推荐
子兮曰2 小时前
把 649 种文件格式塞进一个网页里:一个「文件不出浏览器」的预览器
前端·javascript·后端
sm_926787055 小时前
RFID 标签打印的技术实现要点与二次开发实践
java·大数据·前端·c++·编辑器
IMPYLH5 小时前
HTML 的 <video> 元素
前端·html
溪语流沙6 小时前
【每天一个CSS | Day19】流光文字与一笔写成的手写签名
前端·javascript·css
逐光者9336 小时前
STM32——SPI 屏 · Flash · 高速
java·前端·stm32
To_OC6 小时前
同样是让 AI 写全栈,为什么别人一句话就够了
前端·前端框架·next.js
CDwenhuohuo7 小时前
electron pc项目打包成桌面端
前端·javascript·electron
前端大斗师7 小时前
「大于 1000」把 1000 元那单也算进去了:我在 Vue3 订单页对了 10 句话
前端·人工智能·typescript·大模型·原力计划
Jmyd01237 小时前
用 Web VR 引擎搭建 3D 虚拟展厅:从素材上云到多端实时渲染的完整数据链路
前端·3d·vr·三维数字化
刘天远8 小时前
Agent成本核算实现:事件表、状态分布与Python归集
前端·数据库·人工智能·python