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

如何用CSS选择最后一个.item-line元素并设置display:none?

解决方案

要隐藏最后一个.item-line,可以通过纯CSS定位目标元素,或者在Vue渲染阶段直接控制元素显示,两种方案如下:

方法一:纯CSS实现

观察生成的HTML结构,所有步骤项都嵌套在.stepper-container的子div中,只需选中最后一个子div内的.item-line即可:

/* 选中stepper-container下最后一个直接子div中的.item-line */
.stepper-container > div:last-child .item-line {
    display: none;
}

如果容器类名有变动,也可以用:last-of-type替代:

.stepper-container > div:last-of-type .item-line {
    display: none;
}

为什么之前的尝试无效?

每个.stepper-wrapper内部只有两个子元素:第一个是.stepper-item,第二个是.item-line。你之前用:nth-child(3)是试图查找每个.stepper-wrapper里的第三个子元素,但这个元素根本不存在,所以所有尝试都无法命中目标。我们需要定位的是整个步骤列表的最后一个步骤项,再选中它内部的线条元素。

方法二:Vue渲染时控制(更灵活)

在Vue的v-for循环中,直接判断当前项是否为最后一个,通过指令或动态类控制线条显示:

方式1:直接控制元素显示

<div v-for="(step, i) in steps" :key="step.name">
    <div class="stepper-wrapper d-flex flex-column">
        <!-- 省略步骤内容 -->
        <!-- 仅非最后一步显示线条 -->
        <span class="item-line" v-if="i !== steps.length - 1"></span>
    </div>
</div>

方式2:添加动态隐藏类

<div v-for="(step, i) in steps" :key="step.name">
    <div class="stepper-wrapper d-flex flex-column">
        <!-- 省略步骤内容 -->
        <span class="item-line" :class="{ 'hidden-line': i === steps.length - 1 }"></span>
    </div>
</div>

对应的CSS:

.hidden-line {
    display: none;
}

内容的提问来源于stack exchange,提问作者Ignacio García

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 02:50:07