Vue手写模拟步骤条

效果图:

如果要使用element的步骤条就需要强行修改样式,参考之前的那篇步骤条。这里我采用手写div

代码:

思路是给最外层的div一个左边框,给里面的step-item设置左边框为图片,通过定位来移动。

javascript 复制代码
 <div class="mock-step">  最外层的div
                    <div class="step-item"> 
                        <span class="item-date">2024-01-21</span>
                        <span class="item-price">¥1,099,000</span>
                    </div>
                    <div class="step-item">
                        <span class="item-date">2024-01-21</span>
                        <span class="item-price">¥1,099,000</span>
                    </div>
                    <div class="step-item">
                        <span class="item-date">2024-01-21</span>
                        <span class="item-price">¥1,099,000</span>
                    </div>
 </div>
样式:

第一步中其实还有个属性叫 background-position也可以移动背景图片,但是我图定位方便;

其他样式属性我删掉了,只留了关键点;

javascript 复制代码
    .mock-step {
            border-left: 1px solid rgb(238, 238, 238);

            .step-item {
                position: relative;   移动div
                left: -4px;
                background-image: url('../../assets/insure/step-icon.png');  圈圈背景图 
                background-repeat: no-repeat;
                background-size: 8px 8px;
                height: 33px;
                display: flex;
                justify-content: space-between;

                .item-date {
                    position: relative;  自行修改
                    top: -4px;
                }

                .item-price {
                    position: relative;
                    top: -4px;
                }

            }
        }

        .mock-step:last-child .step-item:last-child {
            height: auto !important;
        }
方法二:

去掉了用图片做边框。直接将图片放在里面。用grid定位

javascript 复制代码
修改版本
 .step-item {
                position: relative;
                left: -4px;
                // background-image: url('../../assets/insure/step-icon.png');
                // background-position: left;
                background-repeat: no-repeat;
                background-size: 8px 8px;
                // padding-left: 14px;
                padding-right: 12px;
                height: 33px;
                // display: flex;
                // justify-content: space-between;
                display: grid;
                grid-template-columns: repeat(3, 15px 60% 35%);
}
总结:

但是这样会导致最后一个会有一点点超出,虽然做了处理还是比较明显,不知道优化了。有没有建议哦?

相关推荐
wearegogog12314 分钟前
C语言中的输入输出函数:构建程序交互的基石
c语言·开发语言·交互
袁煦丞16 分钟前
2025.8.18实验室【代码跑酷指南】Jupyter Notebook程序员的魔法本:cpolar内网穿透实验室第622个成功挑战
前端·程序员·远程工作
Fine姐17 分钟前
The Network Link Layer: 无线传感器中Delay Tolerant Networks – DTNs 延迟容忍网络
开发语言·网络·php·硬件架构
Joker Zxc21 分钟前
【前端基础】flex布局中使用`justify-content`后,最后一行的布局问题
前端·css
无奈何杨24 分钟前
风控系统事件分析中心,关联关系、排行、时间分布
前端·后端
Moment30 分钟前
nginx 如何配置防止慢速攻击 🤔🤔🤔
前端·后端·nginx
晓得迷路了35 分钟前
栗子前端技术周刊第 94 期 - React Native 0.81、jQuery 4.0.0 RC1、Bun v1.2.20...
前端·javascript·react.js
江城开朗的豌豆35 分钟前
React Native 实战心得
javascript
HAPPY酷35 分钟前
给纯小白的Python操作 PDF 笔记
开发语言·python·pdf
前端小巷子37 分钟前
Vue 自定义指令
前端·vue.js·面试