<svg>
<pattern id="p-flowers" width="200" height="200" viewBox="0 0 200 200" patternUnits="userSpaceOnUse">
<image xlink:href="https://img-fotki.yandex.ru/get/366459/5091629.a5/0_93a5a_b49d3852_XL" width="200" height="200"/>
</pattern>
<pattern id="p-flowers--blue" width="200" height="200" viewBox="0 0 200 200" patternUnits="userSpaceOnUse">
<image xlink:href="https://img-fotki.yandex.ru/get/508985/5091629.a5/0_93a58_d8962d8c_XL" width="200" height="200"/>
</pattern>
<pattern id="p-flowers--orange" width="200" height="200" viewBox="0 0 200 200" patternUnits="userSpaceOnUse">
<image xlink:href="https://img-fotki.yandex.ru/get/404236/5091629.a5/0_93a59_ae3b0041_XL" width="200" height="200"/>
</pattern>
<pattern id="p-mask-squares" width="50" height="50" viewBox="0 0 50 50" patternUnits="userSpaceOnUse">
<rect width=".1" height=".1" x="24" y="24" class="elem-mask" transform="rotate(45, 25, 25)"/>
</pattern>
<mask id="m-line">
<rect width="100%" height="100%" fill="url(#p-mask-squares)" />
</mask>
<rect width="100%" height="100%" fill="url(#p-flowers)" mask="url(#m-line)" class="rect-filled"/>
<rect width="100%" height="100%" fill="url(#p-flowers--blue)" mask="url(#m-line)" class="rect-filled"/>
<rect width="100%" height="100%" fill="url(#p-flowers--orange)" mask="url(#m-line)" class="rect-filled"/>
</svg>
<div class="progress"></div>
BODY {
background: #FFF linear-gradient(90deg, rgba(154, 205, 50,.3) 50%, rgba(154, 205, 50,.15) 50%);
background-size: 2em 2em;
}
svg {
width: 100%;
height: 270px;
}
$mask-time: 5s;
$masks-count: 5;
.elem-mask {
stroke: #FFF;
stroke-width: 0;
animation: stroke-width $mask-time infinite;
}
@keyframes stroke-width {
50% {
stroke-width: 100;
}
}
$max: 3;
$showhide-time: $mask-time * $max;
.rect-filled {
opacity: 1;
animation: hide $showhide-time step-end infinite;
@for $item from 2 through $max {
&:nth-of-type(#{$max}n + #{$item}) {
animation-delay: -$mask-time*($item - 1);
}
}
}
@keyframes hide {
0% {
opacity: 1;
}
33% {
opacity: 0;
}
}
.progress {
width: 0;
height: 5px;
background: rgba(154, 205, 50,.5);
animation: timer $showhide-time infinite linear;
}
@keyframes timer {
100% {
width: 100%;
}
}
View Compiled
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.