Я создал файл svg, где контуры «нарисованы», когда страница загружается. После завершения анимации я хочу заполнить контуры.SVG анимировать. Заполнить путь после рисования
Так вот что я сделал.
Существует несколько путей. Вот один:
<path id="b1" class="b1" d="M95.4,204.9a31.7,31.7,0,0,1,23,9.6,32.8,32.8,0,0,1,6.9,10.8,38.7,38.7,0,0,1,0,27.4,32.8,32.8,0,0,1-6.9,10.8,31.7,31.7,0,0,1-23,9.6,25.7,25.7,0,0,1-11.9-2.6,25.4,25.4,0,0,1-8.3-6.8v7.7H61V174H75.1v40.3a25.4,25.4,0,0,1,8.3-6.8A25.7,25.7,0,0,1,95.4,204.9Zm-1.7,13.3a19.5,19.5,0,0,0-8,1.6,18.5,18.5,0,0,0-6.1,4.4,19.7,19.7,0,0,0-4,6.6,24.6,24.6,0,0,0,0,16.5,19.7,19.7,0,0,0,4,6.6,18.5,18.5,0,0,0,6.1,4.4,20.9,20.9,0,0,0,16.1-.1,18.1,18.1,0,0,0,6.1-4.5,19.7,19.7,0,0,0,3.9-6.6,24.6,24.6,0,0,0,0-16.1,19.8,19.8,0,0,0-3.9-6.6,18.1,18.1,0,0,0-6.1-4.5A19.6,19.6,0,0,0,93.7,218.2Z" transform="translate(-60.5 -173.5)" fill="none" stroke="#1d1d1b" stroke-miterlimit="10"/>
Это CSS для анимации очертаний:
@keyframes offset{
to {
stroke-dashoffset: 0;
}
}
.b1{
animation: offset 2s linear forwards;
stroke-dasharray: 324.774;
stroke-dashoffset: 324.774;
}
До здесь все работает просто отлично.
Через две секунды анимация завершена, и теперь я хочу ее заполнить.
Это, как я учил, я мог бы сделать это:
@keyframes fill {
0% {
fill: white;
}
100% {
fill: black;
}
}
#fill {
animation-name: fill;
animation-duration: 2s;
animation-delay:2s;
}
Проблема заключается в том, что я Allready есть id
и class
назначенный path
Я попытался изменить path
«s id
с #fill
.
Если я это сделаю, анимация контура будет перезаписана, и она просто ждет две секунды. Через две секунды путь get заполняется анимацией.
Как это сделать? Я хочу, чтобы сначала анимировать контуры, и когда они сделаны, форма должна быть заполнена.
Thnx.
Чувак ... Ты самый лучший. Спасибо, также за разъяснение – Interactive