css 步骤条虚线渐变色效果实现

效果如图所示:

思路:

使用元素覆盖的方式实现视觉上虚线的效果

实现代码:

html布局

html 复制代码
<ul class="details-cont">
    <li class="details-li" v-for="item in 3" :key="item">
        <div class="li-status">{{ item }}</div>
        <div class="li-flow-box">
            <div class="flow-circle"></div>
            <div class="flow-line"></div>
            <div class="flow-line-other"></div>
        </div>
        <div class="li-details">
            <div class="details-top">文字</div>
            <div class="details-channel">文字文字文字</div>
            <div class="details-stream">文字文字文字文字</div>
        </div>
    </li>
</ul>

css样式

css 复制代码
.details-cont{
    padding: 0 rem(24);
    .details-li{
        display: flex;
        padding-bottom: rem(20);
        .li-flow-box{
            position: relative;
            padding: rem(5) 0 0;
            .flow-circle{
                width: rem(8);
                height: rem(8);
                border-radius: 50%;
                margin: 0 rem(7) 0 rem(5);
                background: #D7D7D7;
            }
            .flow-line{
                position: absolute;
                left: rem(9);
                top: rem(13);
                bottom: rem(-23);
                width: 1px;
                border-left: 1px dashed #D7D7D7;
            }
        }
        .li-details{
            flex: 1;
            font-size: rem(12);
            color: #999999;
            line-height: 18px;
            .details-channel,.details-stream{
                padding: rem(6) 0 0;
            }
        }
    }
    .details-li:last-child{
        .li-flow-box{
            .flow-line-other{
                position: absolute;
                left: rem(9);
                top: rem(13);
                bottom: rem(-23);
                width: 1px;
                border-left: 1px dashed #fff;
            }
            .flow-line{
                border-image: linear-gradient(180deg, rgba(215, 215, 215, 1), rgba(237, 237, 237, 0.49), rgba(215, 215, 215, 0)) 1 1
                
            }
        }
    }
}

PS:因为在移动端使用,单位代码使用统一的方法对rem进行了处理,此处rem(1),就相当于1px,

相关推荐
用户059540174464 小时前
把AI对话记忆存储测试从手工改成Playwright+pytest,覆盖率从20%提到96%,回归时间缩短90%
前端·css
kyriewen4 小时前
别再这样写TypeScript了——Code Review中最常见的8个反模式
前端·javascript·typescript
名字还没想好☜4 小时前
Next.js ‘use client‘ 到底加在哪:Server/Client Components 边界与常见报错
开发语言·前端·javascript·react·next.js
午安~婉4 小时前
GitHub Token/ GitHub Stats统计显示图异常
前端·github·vercel·github token
码云之上5 小时前
AI Agent 工程化总览篇:从 Prompt 到 Harness
前端·人工智能
2501_926978335 小时前
以说明书 DNA 为模板——完整 AGI 的结构图景
前端·人工智能·经验分享·笔记·ai写作
IT_陈寒5 小时前
Vite静态资源引用这个坑我踩得有点疼
前端·人工智能·后端
程序员黑豆6 小时前
鸿蒙应用开发:AttributeModifier 使用教程
前端·harmonyos
codeniu6 小时前
TRAE Work 实战 | 从"有个想法"到线上Demo,我全程只靠对话就完成了
前端·trae
妙码生花6 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(五十):增加管理员角色组管理
前端·后端·ai编程