全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📅 2026-05-16 8 分钟 ✍️ juanwangdev

层叠与继承

CSS 核心机制:层叠解决冲突,继承实现样式传递。

层叠规则

当多个样式作用于同一元素时,按以下顺序决定生效样式:

CSS
1. 来源与重要性
2. 优先级(Specificity)
3. 源码顺序

来源优先级

来源优先级(高→低)
用户代理 !important最高
用户 !important
作者 !important
作者普通样式
用户普通样式
用户代理普通样式最低

源码顺序

优先级相同时,后声明的样式生效:

CSS
.text { color: red; }
.text { color: blue; }  /* 生效 */

继承机制

可继承属性

子元素自动继承父元素的以下属性:

CSS
/* 文字属性 */
color, font-size, font-family, font-weight, line-height, text-align

/* 列表属性 */
list-style

/* 表格属性 */
border-collapse, border-spacing

不可继承属性

以下属性不继承

CSS
/* 盒模型 */
width, height, margin, padding, border

/* 布局 */
display, position, float, clear

/* 其他 */
background, overflow, z-index

强制继承

CSS
.child {
  inherit: all;  /* 继承所有可继承属性 */
}

/* 或单独继承 */
.child {
  color: inherit;
  font-size: inherit;
}

控制继承的关键字

关键字作用
inherit强制继承父元素值
initial重置为初始值
unset可继承属性继承,否则重置为初始值
revert恢复为浏览器默认样式
CSS
.box {
  color: inherit;   /* 继承父元素颜色 */
  margin: initial;  /* 重置为初始值 */
  padding: unset;   /* 自然行为 */
}

实际应用

重置样式

CSS
/* 使用 unset 重置 */
button {
  all: unset;  /* 清除所有样式 */
}

保持一致性

CSS
/* 文字颜色自动继承 */
body {
  color: #333;
}

/* 所有子元素自动继承 color */
p, span, a, li {
  /* 无需重复设置 color */
}

避免意外继承

text
.parent {
  font-size: 20px;
}

.child {
  font-size: 16px;  /* 显式覆盖 */
}

要点总结

  • 层叠顺序:来源重要性 > 优先级 > 源码顺序
  • 可继承属性:文字、列表、表格属性
  • 不可继承属性:盒模型、布局、背景
  • 使用 inherit/initial/unset 控制继承行为
  • all: unset 可快速重置元素样式

📝 发现内容有误?点击此处直接编辑

← 上一篇 CSS 选择器优先级
下一篇 → CSS动画关键帧
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库