绚丽的动态时间轴效果如何实现?

作者站长头像
站长
· 阅读数 18

主要难点要求如下:1、时间轴长度是动态的,也就是说可能不止右边一个弯,左侧还有可能继续往下走;2、默认时间轴是像水管一样的,实际进度如图中渐变色;

效果如下图:绚丽的动态时间轴效果如何实现?

思路:也就是通过多个div凭借起来,例如,奇数div显示top、right边框;偶数div显示top、left边框,但是重点有如下两点:

1、这么多div边框渐变需要衔接起来;2、左右侧的边框如何做成这种弯曲效果;

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <style>
        .content >div{
            height: 100px;
            width: 500px;
            border: none;
            border-top: 20px solid;
        }

        .content >div:nth-child(odd){
            border-right: 20px solid red;
            border-image: linear-gradient(to right, red, green);
            border-image-slice: 1;
        }

        .content >div:nth-child(even){
            border-left: 20px solid red;
            border-image: linear-gradient(to left, red, green);
            border-image-slice: 1;
        }


    </style>
</head>
<body>
    <div class="content">
        <div>1</div>
        <div>2</div>
        <div>3</div>
        <div>4</div>
    </div>
</body>
</html>

效果如下:绚丽的动态时间轴效果如何实现?

回复
1个回答
avatar
test
2024-06-29

如果只有一个弯,其实 conic-gradient 就可以解决多个弯,似乎也能拼

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容