Forked from yoksel's Pen Elastic stroke CSS + SVG.
A Pen by Sanket Patel on CodePen.
Forked from yoksel's Pen Elastic stroke CSS + SVG.
A Pen by Sanket Patel on CodePen.
<svg viewBox="0 0 800 600"> | |
<symbol id="s-text"> | |
<text text-anchor="middle" | |
x="50%" | |
y="32%" | |
class="text--line2" | |
> | |
Sanket | |
</text> | |
<text text-anchor="middle" | |
x="50%" | |
y="68%" | |
class="text--line1" | |
> | |
Patel | |
</text> | |
</symbol> | |
<g class="g-ants"> | |
<use xlink:href="#s-text" | |
class="text-copy"></use> | |
<use xlink:href="#s-text" | |
class="text-copy"></use> | |
<use xlink:href="#s-text" | |
class="text-copy"></use> | |
<use xlink:href="#s-text" | |
class="text-copy"></use> | |
<use xlink:href="#s-text" | |
class="text-copy"></use> | |
</g> | |
</svg> |
HTML, BODY { | |
height: 100%; | |
} | |
$colors: #360745, #D61C59, #E7D84B, #EFEAC5, #1B8798; | |
BODY { | |
background: black; | |
background-size: .12em 100%; | |
font: 16em/1 Arial; | |
} | |
.text--line { | |
font-size: .5em; | |
} | |
svg { | |
position: absolute; | |
width: 100%; | |
height: 100%; | |
} | |
$max: 5; | |
$stroke-step: 7%; | |
.text-copy { | |
fill: none; | |
stroke: white; | |
stroke-dasharray: $stroke-step $stroke-step * ($max - 1); | |
stroke-width: 3px; | |
animation: stroke-offset 9s infinite linear; | |
@for $item from 1 through $max { | |
$stroke-color: nth($colors, $item); | |
&:nth-child(#{$item}) { | |
stroke: $stroke-color; | |
stroke-dashoffset: $stroke-step * $item; | |
} | |
} | |
} | |
@keyframes stroke-offset { | |
50% { | |
stroke-dashoffset: $stroke-step * $max; | |
stroke-dasharray: 0 $stroke-step * $max*2.5; | |
} | |
} | |