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

如何用SCSS选择父元素为最后子元素的.custom-class?

问题描述

现有如下HTML结构:

<div>
    <div>
       <div class="custom-class">whatever</div>
   </div>
    <div>
       <div class="custom-class">whatever</div>
   </div>
   <div>
       <div class="custom-class">thing i want to select</div>
   </div>
</div>

当前已为所有.custom-class设置红色文字样式,需求是:仅给父元素为祖父元素最后一个子元素的.custom-class添加绿色文字样式,且样式代码需写在统一的.custom-class SCSS规则内,父元素与祖父元素均无自定义类。

解决方案

可以利用CSS的:last-child伪类结合SCSS的嵌套特性实现,具体写法如下:

.custom-class {
    color: red;

    // 选中父元素为最后一个子元素的.custom-class
    :last-child > & {
        color: green;
    }
}

选择器说明

  • & 在SCSS中代表当前的选择器(即.custom-class)
  • :last-child > & 表示匹配所有作为最后一个子元素的元素的直接子元素的.custom-class,精准命中目标元素,不会影响其他同类元素。

如果需要严格限定父元素为div标签,可将选择器改为:

div:last-child > & {
    color: green;
}

编译后的CSS代码如下,效果完全符合需求:

.custom-class {
    color: red;
}
:last-child > .custom-class {
    color: green;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 20:12:45