#css #css3 #svg #css_animation #svg_animation
Я пытаюсь получить анимированную стрелку вокруг логотипа SVG.
При использовании анимации обводки, я не знаю, как присоединить стрелку к началу
этой линии.
Вот пример того, что я пытаюсь сделать: https://stackoverflow.com/a/45548957/7394871
.shape svg {
width:100%;
height: auto;
}
.outline {
stroke-dasharray: 32050;
animation: dash 2s linear forwards;
stroke-linejoin: round;
}
@keyframes dash {
from {
stroke-dashoffset: 32050;
}
to {
stroke-dashoffset: 0;
}
}
Ответы
Ответ 1
Вы не можете анимировать маркер используя stroke-dasharray. Так как местоположение черты - пробела перемещается вдоль пути, но сам путь не перемещается, поэтому маркер, который находится на конце линии не будет перемещаться. @Michael Mullany Но вы можете заменить маркер треугольником и заставить его двигаться по тому же пути, который анимирован. Для этого используйте команду animateMotion, где id ="border" - анимируемый путь Анимации stroke-dashoffset и animateMotion имеют одинаковую продолжительность, и поэтому будет казаться, что треугольник движется одновременно с линией. .shape svg { width:100%; height: auto; } .outline { stroke-dasharray: 3253; animation: dash 7s linear forwards; stroke-linejoin: round; } @keyframes dash { from { stroke-dashoffset: 3253; } to { stroke-dashoffset: 0; } }
Комментариев нет:
Отправить комментарий