You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CSS是否存在类似all的仅针对未声明属性的简写属性以覆盖其他样式?

答案
  • 你理想中的remaining: revert这类专属简写属性,目前并没有被纳入CSS正式规范,不存在原生支持。
  • 你可以通过「先全量重置、后覆盖自定义属性」的方式实现完全相同的效果,不需要逐个列出未声明的属性。

实现方案

利用CSS同优先级规则下后声明属性覆盖前声明属性的特性,先通过all: revert将所有属性重置为浏览器默认值,再写你自定义的样式即可。如果需要递归应用到该div内部所有元素,直接把重置规则扩展到.example *选择器即可。

代码示例

修改后的样式表A代码:

/* 先重置元素本身及所有后代元素的所有属性为浏览器默认值 */
.example, .example * {
  all: revert;
}

/* 再声明你需要的自定义属性,会自动覆盖上面revert的对应值 */
.example {
  background-color: #000;
  border-radius: 50%;
  color: #fff;
  width: 25px;
  height: 25px;
  line-height: 25px;
  display: inline-block;
  text-align: center;
}

说明

  • all: revert的作用是将元素的所有CSS属性回退到用户代理(即浏览器默认)的样式表取值,刚好可以覆盖样式表B中对div元素设置的所有全局规则。
  • 后续声明的自定义属性优先级更高,会保留你需要的样式,其余未声明的属性全部保持浏览器默认值,和你预想的remaining: revert效果完全一致。
  • 该属性在Chrome 84+、Firefox 67+、Safari 13.1+及以上版本的浏览器都可以正常支持,如果你需要兼容更低版本浏览器,可以将revert替换为initial,但注意initial是回退到CSS规范定义的属性初始值,而非浏览器默认的元素样式,使用时需要自行评估差异。

内容的提问来源于stack exchange,提问作者curiouscoder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 03:24:02