效果演示
知识点
SVG 配合 CSS 实现,在动画帧中更改SVG 的 dash-array
与 dash-offset
代码
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 800 200">
<text
x="50%"
y="80%"
text-anchor="middle">
DONE
</text>
</svg>
text
中的 x、y表示绘制坐标,text-anchor=middle
定义文本字符串的中心位置为文本的初始位置,三个值 start | middle | end
,可自行改动观察理解
svg {
width: 800px;
height: 200px;
}
text {
font-size: 200px;
letter-spacing: 4px;
animation: spell 6s infinite alternate;
}
@keyframes spell {
0%,
10% {
fill: rgba(31, 183, 127, 0);
stroke: rgba(31, 183, 127, 1);
stroke-width: 0.6;
stroke-dasharray: 0 50%;
stroke-dashoffset: 20%;
}
40% {
fill: rgba(31, 183, 127, 0);
stroke: rgba(31, 183, 127, 1);
stroke-width: 1.2;
}
60% {
fill: rgba(31, 183, 127, 0);
stroke: rgba(31, 183, 127, 1);
stroke-width: 1.8;
}
80% {
fill: rgba(31, 183, 127, 0);
stroke: rgba(31, 183, 127, 1);
stroke-width: 2.4;
}
95%,
100% {
fill: rgba(31, 183, 127, 1);
stroke: rgba(31, 183, 127, 0);
stroke-width: 0;
stroke-dasharray: 50% 0;
stroke-dashoffset: -20%;
}
}
就是一些SVG最基础的,直接手搓就行了。
可以在一些场景下使用使用,例如 404页面啥的