Yellow-svg-path动画
P粉021708275
P粉021708275 2023-08-02 19:05:54
0
1
711
<p><br />></p>
.arrow{
  宽度:45 像素;
  高度:25 像素;
  剪辑路径:多边形(0% 20%、60% 20%、60% 0%、100% 50%、60% 100%、60% 80%、0% 80%);
  背景:绿色;
  位置:绝对;
  顶部:0;
  左:0;
  偏移路径:路径(“M304 2C304 9 304 16 304 23C304 27.7274 306 31.2947 306 36C306 41.7305 308 47.4234 308 53C308 56.8769 309 60.5287 309 64.5C309 69.0286 306.737 68 302.778 68C291.444 68 280.111 68 268.778 68C253.531 68 238.361 72 223 72C217。 772 72 212.751 72.678 207.556 72.9444C204.436 73.1044 199.112 71.9994 196.556 74.5556C194.211 76.9005 195 81.9959 195 85C1 95 100.333 195 115.667 195 131C195 134.167 195 137.333 195 140.5C195 142 195 143.5 195 145C195 145.758 194.846 146.71 195.05 6 147.444C195.202 147.957 197.089 148 196.556 148C189.63 148 182.704 148 175.778 148C153.185 148 130.593 148 108 148C83.7123 148 59.2805 145.714 35 145C31.266 144.89 26 .3082 144.53 22.5 143.944C19.5895 143.497 12.9189 143.888 10.7778 142.222C9.9328 141.565 8.08918 153.439 7.49999 154.5C5.237 71 158.572 8.0384 164.541 5.99999 169C3.84153 173.722 2.99999 183.142 2.99999 188.5C2.99999 194.765 4.14255 202.303 2.77777 208.444C1.4407 2 14.461 1.99999 220.799 1.99999 226.944C1.99999 231.946 2.29047 232 7.22221 232C45.8889 232 84.5555 232 123.222 232C177.667 2 32 232.111 232 286.556 232C314.863 232 343.682 230.584 372 232C375.676 232.184 374 253.525 374 257.222C374 267.587 371 277.175 371 287.444C371 294.63 371 301 .815 371 309C371 316.333 371 323.667 371 331C371 339.764 360.794 335 355 335C308 335 261 335 214 335 M193 149C197.514 149 201 .976 148.163 206.222 148C213.115 147.735 219.646 145 226.5 145C247.333 145 268.167 145 289 145C304.833 145 320.667 145 336.5 145C341.685 145 346.87 145 352 .056 145C355.722 145 371.604 146.792 373 144");

  动画:followpath 12s 线性无限
}
@关键帧跟随路径{
  到{
    偏移距离:100%;
  }
}</pre>
<pre class="brush:html;toolbar:false;"><div class="container">
  
; <矩形宽度=“376”高度=“338”填充=“#F5F5F5”/> <定义> <标记 orient="auto" refY="0" refX="0" id="tri" style="overflow:visible"> </标记> </defs> <路径d=“M304 2C304 9 304 16 304 23C304 27.7274 306 31.2947 306 36C306 41.7305 308 47.4234 308 53C308 56.8769 309 60.5287 309 64.5C309 69.0286 306.737 68 302.778 68C291.444 68 280.111 68 268.778 68C253.531 68 238.361 72 223 72C217.772 72 212.751 72.678 207.556 72.9444C204.436 73.1044 199.112 71.9994 196.556 74.5556C194.211 76.9005 195 81.9959 195 85C195 1 00.333 195 115.667 195 131C195 134.167 195 137.333 195 140.5C195 142 195 143.5 195 145C195 145.758 194.846 146.71 195.056 14 7.444C195.202 147.957 197.089 148 196.556 148C189 .63 148 182.704 148 175.778 148C153.185 148 130.593 148 108 148C83.7123 148 59.2805 145.714 35 145C31.266 144.89 26.3082 1 44.53 22.5 143.944C19.5895 143.497 12.9189 143.888 10.7778 142.222C9.9328 141.565 8.08918 153.439 7.49999 154.5C5.23771 158. 572 8.0384 164.541 5.99999 169C3.84153 173.722 2.99999 183.142 2.99999 188.5C2.99999 194.765 4.14255 202.303 2.77777 208.444C1.4407 214.461 1 .99999 220.799 1.99999 226.944C1.99999 231.946 2.29047 232 7.22221 232C45.8889 232 84.5555 232 123.222 232C177.667 232 232.1 11 232 286.556 232C314.863 232 343.682 230.584 372 232C375.676 232.184 374 253.525 374 257.222C374 267.587 371 277.175 371 287.444C371 294.63 371 301.815 371 309C371 316.333 371 323.667 371 331C371 339.764 360.794 335 355 335C308 335 261 335 214 335" 描边="黑色" 描边宽度="3 “ 笔画-linecap =“圆形”/> <路径d=“M193 149C197.514 149 201.976 148.163 206.222 148C213.115 147.735 219.646 145 226.5 145C247.333 145 268.167 145 289 1 45C304.833 145 320.667 145 336.5 145C341.685 145 346.87 145 352.056 145C355.722 145 371.604 146.792 373 144 " 笔划线帽=“圆形” 笔画线加入=“圆形” 标记结束=“无” /> </svg> </div></pre> <p><br />></p> <p>我使箭头开始的路径之前不可见只有当箭头经过路径时,路径才可见其余路径的颜色应该是黄色的,同时,覆盖了整个向量之后的向量也不应该是那样它应该是一个向量,有人能帮我实现这个吗。</p>
P粉021708275
P粉021708275

全部回复(1)
P粉129731808

我不完全理解你的意思(特别是“黄色”和矢量部分),但如果你只想在箭头后面画线,你可以用css动画和属性stroke-dasharray和stroke-dashoffset来实现。

你只需要知道/猜测正确的路径长度,并保持(箭头和路径)动画的持续时间相同。

这里是一个清理后的演示:
(这不是完美的,但它有效)



.arrow{
    width: 45px;
    height: 25px;
    clip-path: polygon(0% 20%, 60% 20%, 60% 0%, 100% 50%, 60% 100%, 60% 80%, 0% 80%);
    background: green;
    position: absolute;
    top: 0;
    left: 0;
    offset-path: path("M304 2C304 9 304 16 304 23C304 27.7274 306 31.2947 306 36C306 41.7305 308 47.4234 308 53C308 56.8769 309 60.5287 309 64.5C309 69.0286 306.737 68 302.778 68C291.444 68 280.111 68 268.778 68C253.531 68 238.361 72 223 72C217.772 72 212.751 72.678 207.556 72.9444C204.436 73.1044 199.112 71.9994 196.556 74.5556C194.211 76.9005 195 81.9959 195 85C195 100.333 195 115.667 195 131C195 134.167 195 137.333 195 140.5C195 142 195 143.5 195 145C195 145.758 194.846 146.71 195.056 147.444C195.202 147.957 197.089 148 196.556 148C189.63 148 182.704 148 175.778 148C153.185 148 130.593 148 108 148C83.7123 148 59.2805 145.714 35 145C31.266 144.89 26.3082 144.53 22.5 143.944C19.5895 143.497 12.9189 143.888 10.7778 142.222C9.9328 141.565 8.08918 153.439 7.49999 154.5C5.23771 158.572 8.0384 164.541 5.99999 169C3.84153 173.722 2.99999 183.142 2.99999 188.5C2.99999 194.765 4.14255 202.303 2.77777 208.444C1.4407 214.461 1.99999 220.799 1.99999 226.944C1.99999 231.946 2.29047 232 7.22221 232C45.8889 232 84.5555 232 123.222 232C177.667 232 232.111 232 286.556 232C314.863 232 343.682 230.584 372 232C375.676 232.184 374 253.525 374 257.222C374 267.587 371 277.175 371 287.444C371 294.63 371 301.815 371 309C371 316.333 371 323.667 371 331C371 339.764 360.794 335 355 335C308 335 261 335 214 335");
    animation: followpath 12s linear infinite
  }
  @keyframes followpath{
    to{
      offset-distance: 100%;
    }
  }
  
  #myPath{
     --line-length: 1170;
     stroke-dasharray: var(--line-length);
     stroke-dashoffset: var(--line-length);
     animation: drawPath 12s linear infinite;
  }
  
  @keyframes drawPath {
     0% { stroke-dashoffset: var(--line-length); }
     50% { stroke: yellow;}
     100% { 
            stroke-dashoffset: 0; 
            stroke: yellow;
     }
  }
<div class="container">
    <div class="arrow"></div>
    <svg xmlns="http://www.w3.org/2000/svg" width="376" height="338" viewBox="0 0 376 338" fill="none">
        <rect width="376" height="338" fill="#F5F5F5"/>
        <defs>
            <marker orient="auto" refY="0" refX="0" id="tri" style="overflow:visible"></marker>
        </defs>
        <path id="myPath" d="M304 2C304 9 304 16 304 23C304 27.7274 306 31.2947 306 36C306 41.7305 308 47.4234 308 53C308 56.8769 309 60.5287 309 64.5C309 69.0286 306.737 68 302.778 68C291.444 68 280.111 68 268.778 68C253.531 68 238.361 72 223 72C217.772 72 212.751 72.678 207.556 72.9444C204.436 73.1044 199.112 71.9994 196.556 74.5556C194.211 76.9005 195 81.9959 195 85C195 100.333 195 115.667 195 131C195 134.167 195 137.333 195 140.5C195 142 195 143.5 195 145C195 145.758 194.846 146.71 195.056 147.444C195.202 147.957 197.089 148 196.556 148C189.63 148 182.704 148 175.778 148C153.185 148 130.593 148 108 148C83.7123 148 59.2805 145.714 35 145C31.266 144.89 26.3082 144.53 22.5 143.944C19.5895 143.497 12.9189 143.888 10.7778 142.222C9.9328 141.565 8.08918 153.439 7.49999 154.5C5.23771 158.572 8.0384 164.541 5.99999 169C3.84153 173.722 2.99999 183.142 2.99999 188.5C2.99999 194.765 4.14255 202.303 2.77777 208.444C1.4407 214.461 1.99999 220.799 1.99999 226.944C1.99999 231.946 2.29047 232 7.22221 232C45.8889 232 84.5555 232 123.222 232C177.667 232 232.111 232 286.556 232C314.863 232 343.682 230.584 372 232C375.676 232.184 374 253.525 374 257.222C374 267.587 371 277.175 371 287.444C371 294.63 371 301.815 371 309C371 316.333 371 323.667 371 331C371 339.764 360.794 335 355 335C308 335 261 335 214 335" stroke="black" stroke-width="3" stroke-linecap="round"/>
    </svg>
</div>
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板