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

SCSS中:where(:root)是什么意思?

CSS :where()选择器的实际作用

首先,:where()是CSS的伪类函数,它最核心的特点是优先级为0——不管它里面包裹的选择器本身优先级多高,整个:where(...)组合的优先级都会被拉到最低。

拿你给出的示例:where(:root)来说:

  • 直接写:root时,它是伪类选择器,优先级为1;
  • 写成:where(:root)后,这个选择器的优先级就变成了0,比任何普通的标签选择器(优先级1)、类选择器(优先级10)都低。

举个实际的对比例子:

/* 直接用:root,优先级1 */
:root {
  color: red;
}
/* 类选择器优先级10,能覆盖上面的红色 */
.content {
  color: blue;
}

换成:where(:root)的情况:

/* 优先级0 */
:where(:root) {
  color: red;
}
/* 标签选择器优先级1,就能直接覆盖红色 */
p {
  color: blue;
}

除此之外,:where()还常用于批量组合选择器时统一降低优先级,方便后续样式修改。比如:

/* 整个选择器的优先级只算类.title的10,header/footer这些的优先级被忽略 */
:where(header, footer, aside) .title {
  font-size: 1.2rem;
}
/* 后面只要用同样优先级的类选择器就能覆盖 */
.small-title {
  font-size: 1rem;
}

简单来说,:where()的作用就是给选择器“降权”,让样式更容易被后续的普通选择器覆盖,避免因为高优先级选择器导致的样式难以修改的问题。

内容的提问来源于stack exchange,提问作者s.k.paul

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 05:55:23