CSS 权重(优先级规则)

(1)!important声明 - 最高优先级

css 复制代码
p {
  color: blue !important; /* 最高优先级,即使有其他冲突规则 */
}
.text {
  color: red;
}

(2)内联样式 - 权重值1000

css 复制代码
<p style="color: green;">这个文字是绿色的(内联样式)</p>

<style>
  p { color: red; } /* 不会生效 */
  #special { color: blue; } /* 不会生效 */
</style>

(3)ID选择器 - 权重值100

css 复制代码
#header {
  color: purple; /* ID选择器 */
}
.header {
  color: gray; /* 类选择器 - 优先级较低 */
}

(4)类选择器/属性选择器/伪类选择器 - 权重值10

css 复制代码
.container { /* 类选择器 */
  background: lightblue;
}
input[type="text"] { /* 属性选择器 */
  border: 2px solid red;
}
a:hover { /* 伪类选择器 */
  color: orange;
}
div { /* 元素选择器 - 优先级较低 */
  background: white;
}

(5)元素选择器/伪元素选择器 - 权重值1

css 复制代码
p { /* 元素选择器 */
  font-size: 16px;
}
p::first-letter { /* 伪元素选择器 */
  font-size: 24px;
}

(6)通用选择器/关系选择器 - 权重值0

css 复制代码
* { /* 通用选择器 - 优先级最低 */
  margin: 0;
  padding: 0;
}
div > p { /* 关系选择器 - 优先级与单独p元素相同 */
  color: darkgreen;
}

综合

css 复制代码
/* 权重: 1个ID(100) + 1个类(10) + 1个元素(1) = 111 */
#content .article p {
  color: navy;
}

/* 权重: 2个类(10+10=20) + 1个元素(1) = 21 */
.container .text p {
  color: red; /* 不会生效,因为111 > 21 */
}

/* 权重: 1个元素(1) */
p {
  color: green; /* 不会生效 */
}
相关推荐
Hello--_--World2 分钟前
Vue2的 双端 diff算法 与 Vue3 的 快速diff 算法
前端·vue.js·算法
gongzemin10 分钟前
怎么在VS Code 调试vue2 源码
前端·vue.js
烟话618 分钟前
Vue3响应式原理【通俗理解】
前端·javascript·vue.js
浩星27 分钟前
electron系列5:深入理解Electron打包
前端·javascript·electron
患得患失94932 分钟前
【前端WebSocket】心跳功能,心跳重置策略、双向确认(Ping-Pong) 以及 指数退避算法(Exponential Backoff)
前端·websocket·算法
英俊潇洒美少年34 分钟前
React 实现 AI 流式打字机对话:SSE 分包粘包处理 + 并发优化
前端·javascript·react.js
chQHk57BN37 分钟前
前端测试入门:Jest、Cypress等测试框架使用教程
前端
遇见你...1 小时前
前端技术知识点
前端
AC赳赳老秦1 小时前
OpenClaw image-processing技能实操:批量抠图、图片尺寸调整,适配办公需求
开发语言·前端·人工智能·python·深度学习·机器学习·openclaw
We་ct1 小时前
LeetCode 172. 阶乘后的零:从暴力到最优,拆解解题核心
开发语言·前端·javascript·算法·leetcode·typescript