六维教程

CSS 属性关键字

CSS中有一些关键字,在很多属性当中都可以使用,它们根据功能职责,严格分为以下三大类:

级联与继承控制

这 5 个关键字适用于所有 CSS 属性(如 colordisplaymargin 等),用来干预样式的“来源链条”

即告诉浏览器:“这个值,你该从‘父亲’拿、从‘课本’拿、还是从‘祖宗’那拿?”

关键字 核心逻辑 针对 color 属性的举例
inherit “强制继承父级” —— 无视默认规则,父元素是什么计算值,我就必须是什么。 父级文字是红色,我强制设为 inherit,我就必须是红色。
initial “恢复规范初始值” —— 无视父级,直接采用 CSS 官方规范里写死的出厂设置。 color 的规范初始值是 black(黑色),无论父级是什么色,我都会变黑。
unset “看属性脸色行事” —— 先问该属性默认是否继承?
① 默认继承(如 color)→ 等价于 inherit(听爸爸的);
② 默认不继承(如 border)→ 等价于 initial(听课本的)。
对于 color(可继承),它等价于 inherit,跟随父级颜色。
revert “跳过爸爸,听祖宗的” —— 忽略所有开发者自定义的父级样式,直接找回浏览器内置的默认样式(User Agent Stylesheet)。 display: revert<div> 上是 block,在 <span> 上是 inline(浏览器自带的区分)。
revert-layer “仅撤回上一层” —— 只在使用了 @layer(级联层)架构时生效。它撤回当前级联层的样式,回落到上一个级联层的定义。若无 @layer 结构,则等价于 revert 常用于组件库封装,用于撤销当前组件层对基础层的样式污染。

initialrevert 区别

initialrevert在理解上存在困难,都表示恢复默认值。但它们的区别在于,initial 是恢复规范默认值,而 revert 是恢复浏览器默认值。

对比维度 initial(听“课本”的) revert(听“祖宗”的)
参照物 CSS 官方规范(W3C 标准) 浏览器内置默认样式表(User Agent Stylesheet)
核心逻辑 不管标签类型,一律强制变回 CSS 规范写死的“出厂默认值” 跳过开发者自定义样式,直接找回浏览器针对该特定标签自带的默认样式
是否区分元素类型 (一刀切) (看标签下菜碟)
<div>display 效果 变成 inline(丢失块级特性) 变成 block(恢复块级本色)
<span>display 效果 变成 inline(保持不变) 变成 inline(保持不变)
<li>list-style-type 效果 变成 disc(无论 <ul> 还是 <ol> 都变圆点) <ul> 下是 disc<ol> 下是 decimal(智能识别)
是否受浏览器版本差异影响 (规范值全球统一) (不同浏览器内置样式有细微差别)
典型适用场景 彻底剥离所有样式污染,让元素变成“白纸”状态 恢复元素的“本职工作”(如让按钮变回浏览器默认按钮模样)

一句话总结

  • initial:“机器语言”——无视标签,统一回归规范底稿。
  • revert:“母语本能”——尊重标签,恢复浏览器天生赋予的模样。
/* 初始状态 */
div { display: flex; }    /* 假设被改成了弹性盒子 */

/* 方案一:initial */
div { display: initial; } 
/* 结果:div 变成 inline(规范初始值),彻底丢失块级和 flex 特性 */

/* 方案二:revert */
div { display: revert; }  
/* 结果:div 变成 block(浏览器默认值),恢复块级本色 */

尺寸

它们不是全局关键字,仅适用于 widthheightflex-basisgrid-template-columns 等尺寸属性,专治盒子“宽高”与“内容”的关系

关键字 核心逻辑(以宽度 width 为例) 表现效果(通用场景)
min-content “内容的绝对底裤” —— 将盒子压缩到最极端状态,宽度取最长连续不可换行单元(如最长英文单词)的宽度。 盒子窄到不能再窄,绝不主动换行,直到碰到硬性换行符或超长单词。
max-content “内容的理想国” —— 让盒子宽度完全铺开,内部文本绝不换行,内容有多宽,盒子就撑多宽。 无视父容器边界,盒子直接横向溢出,像一张无限长的横幅。
fit-content “识时务的俊杰” —— 公式为 min(max-content, max(min-content, 可用空间))。即:
① 父容器够宽,就用 max-content(内容撑开);
② 父容器狭窄,就自动换行适配父容器宽度。
表现类似于 display: tablewidth: automax-content 的效果,刚刚好不溢出也不浪费空间。

优先级修饰符

仅用于紧急覆写第三方顽固样式或调试,日常业务代码中慎用,否则会严重破坏 CSS 的可维护性。

关键字 核心逻辑
!important “破除级联的尚方宝剑” —— 它不是属性值本身,而是写在值末尾的优先级标志。一旦加上,该条声明会升至最高优先级,无视选择器权重和源码顺序,强行覆盖普通样式。

速查口诀

  • 管“来源回溯”的(全属性通用):inherit(爸爸)、initial(课本)、unset(看脸色)、revert(祖宗)、revert-layer(上一层)。
  • 管“尺寸计算”的(仅宽高/网格):min-content(最窄底线)、max-content(最宽撑爆)、fit-content(自适应刚好)。
  • 管“权重压制”的(标记符号):!important(强行上位)。
上一篇
CSS 伪元素
下一篇
CSS 层叠与优先级