012:vue结合纯CSS实现蛇形流程图/步骤条

2024-04-11 12:04

本文主要是介绍012:vue结合纯CSS实现蛇形流程图/步骤条,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 1. 实现效果
  • 2. 实现代码

1. 实现效果

在这里插入图片描述

2. 实现代码

<template><div class="container"><div v-for="(item, index) in list" class="grid-item"><div class="step">step{{index+1}}</div></div></div>
</template><script setup>import { ref } from 'vue';const list = ref(new Array(11).fill(''));
</script><style lang="less">/** 可配置的参数 可以调整试试 */@colNum: 4; // 单行排列的步骤 试试 2、3、4、5、6@colEven: @colNum * 2; // 两行元素数@lineWidth: 26px; // 步骤间连线长度@rowDistance: 40px; // 行间距@colDistance: @lineWidth; // 列间距@arrowSize: 6px; // 箭头大小@stepColor: #cfbbfd; // 步骤颜色.container {margin-top:100px;display: grid;grid-template-columns: repeat(@colNum, 1fr);gap: @rowDistance @colDistance;padding-top: @rowDistance;}.grid-item {position: relative;display: flex;align-items: center;justify-content: center;&::before {position: absolute;content: '';right: -@lineWidth;width: @lineWidth;height: 0;border-top: 1px dashed @stepColor;}&::after {content: '';position: absolute;right: (-@colDistance / 2);transform: translateX(50%);border-top: (@arrowSize / 1.4) solid transparent;border-left: @arrowSize solid @stepColor;border-bottom: (@arrowSize / 1.4) solid transparent;}// 给每行最后一个步骤(除最后一行)添加向下的连接箭头&:nth-child(@{colNum}n) {&:not(:last-child) {.step {&::before {content: '';position: absolute;left: 50%;bottom: -(@rowDistance / 2);height: @lineWidth;border-left: 1px dashed @stepColor;transform: translate(-50%, 50%);}&::after {content: '';position: absolute;left: 50%;bottom: -(@rowDistance / 2);border-top: @arrowSize solid @stepColor;border-left: (@arrowSize / 1.4) solid transparent;border-right: (@arrowSize / 1.4) solid transparent;transform: translate(-50%, 50%);}}}}each(range(@colEven), {&:nth-child(@{colEven}n+@{value}) {@isEvenLine: boolean(@value > @colNum);@modNum: mod(@value, @colEven); // 余数 1、2、3、4、5、0color: if(@isEvenLine, #7dbcf7, #f38cd6);/** 偶数行旋转箭头,步骤倒序排列(使用transform交换位置) */& when (@isEvenLine) {@transN: (@colNum + 1 + @colEven - @value - @value);transform: translateX(calc(@transN * 100% + @transN * @colDistance));&::after {transform: translateX(50%) rotate(180deg) !important; // 旋转箭头}}// 最右排(n & n + 1 位)隐藏多余的箭头(如果container设置了overflow:hidden 则不用处理)& when (@modNum=@colNum), (@modNum=@colNum+1) {&::before, &::after {display: none;}}// 最后一个步骤在奇数行 需要隐藏连线箭头& when not (@isEvenLine) {&:last-child {&::before, &::after {display: none;}}}}})}.step {position: relative;width: 100px;line-height: 30px;font-size: 16px;text-align: center;border: 1px solid @stepColor;border-radius: 4px;}
</style>

这篇关于012:vue结合纯CSS实现蛇形流程图/步骤条的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/894027

相关文章

nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析(结合应用场景)

《nginx-t、nginx-sstop和nginx-sreload命令的详细解析(结合应用场景)》本文解析Nginx的-t、-sstop、-sreload命令,分别用于配置语法检... 以下是关于 nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析,结合实际应

C#连接SQL server数据库命令的基本步骤

《C#连接SQLserver数据库命令的基本步骤》文章讲解了连接SQLServer数据库的步骤,包括引入命名空间、构建连接字符串、使用SqlConnection和SqlCommand执行SQL操作,... 目录建议配合使用:如何下载和安装SQL server数据库-CSDN博客1. 引入必要的命名空间2.

SpringBoot结合Docker进行容器化处理指南

《SpringBoot结合Docker进行容器化处理指南》在当今快速发展的软件工程领域,SpringBoot和Docker已经成为现代Java开发者的必备工具,本文将深入讲解如何将一个SpringBo... 目录前言一、为什么选择 Spring Bootjavascript + docker1. 快速部署与

Linux下删除乱码文件和目录的实现方式

《Linux下删除乱码文件和目录的实现方式》:本文主要介绍Linux下删除乱码文件和目录的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux下删除乱码文件和目录方法1方法2总结Linux下删除乱码文件和目录方法1使用ls -i命令找到文件或目录

SpringBoot+EasyExcel实现自定义复杂样式导入导出

《SpringBoot+EasyExcel实现自定义复杂样式导入导出》这篇文章主要为大家详细介绍了SpringBoot如何结果EasyExcel实现自定义复杂样式导入导出功能,文中的示例代码讲解详细,... 目录安装处理自定义导出复杂场景1、列不固定,动态列2、动态下拉3、自定义锁定行/列,添加密码4、合并

mybatis执行insert返回id实现详解

《mybatis执行insert返回id实现详解》MyBatis插入操作默认返回受影响行数,需通过useGeneratedKeys+keyProperty或selectKey获取主键ID,确保主键为自... 目录 两种方式获取自增 ID:1. ​​useGeneratedKeys+keyProperty(推

Spring Boot集成Druid实现数据源管理与监控的详细步骤

《SpringBoot集成Druid实现数据源管理与监控的详细步骤》本文介绍如何在SpringBoot项目中集成Druid数据库连接池,包括环境搭建、Maven依赖配置、SpringBoot配置文件... 目录1. 引言1.1 环境准备1.2 Druid介绍2. 配置Druid连接池3. 查看Druid监控

Linux在线解压jar包的实现方式

《Linux在线解压jar包的实现方式》:本文主要介绍Linux在线解压jar包的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux在线解压jar包解压 jar包的步骤总结Linux在线解压jar包在 Centos 中解压 jar 包可以使用 u

创建Java keystore文件的完整指南及详细步骤

《创建Javakeystore文件的完整指南及详细步骤》本文详解Java中keystore的创建与配置,涵盖私钥管理、自签名与CA证书生成、SSL/TLS应用,强调安全存储及验证机制,确保通信加密和... 目录1. 秘密键(私钥)的理解与管理私钥的定义与重要性私钥的管理策略私钥的生成与存储2. 证书的创建与

c++ 类成员变量默认初始值的实现

《c++类成员变量默认初始值的实现》本文主要介绍了c++类成员变量默认初始值,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录C++类成员变量初始化c++类的变量的初始化在C++中,如果使用类成员变量时未给定其初始值,那么它将被