transition
решит вашу проблему? Я обычно нахожу это более простым решением для парящих состояний.
Ваш css будет выглядеть примерно так:
.bell_line {
fill: none;
stroke: black;
stroke-dashoffset: 0;
stroke-dasharray: 0;
transition: stroke-dashoffset 2s ease;
}
.bell_line:hover {
stroke-dashoffset: 92;
}
ИЛИ, если вы хотите анимировать два состояния (в вашем случае - отрисовка), вам нужно будет создать анимацию что dr aws покидает приборную панель по ее половине пути, а затем перерисовывает aws по завершению.
Примерно так:
@keyframes draw {
0% {
stroke-dashoffset: 0;
}
50% {
stroke-dashoffset: 90;
}
100% {
stroke-dashoffset: 180;
}
}
.bell_line {
fill: none;
stroke: black;
stroke-dashoffset: 0;
stroke-dasharray: 90;
}
.bell_line:hover {
animation: draw 2s linear forwards;
}
Здесь мы только анимируем приборную панель, чтобы получить Эффект анимации затем сбросьте
Вот рабочий пример,
https://stackblitz.com/edit/react-bell-line
https://react-bell-line.stackblitz.io
Также просто помните, что состояние парения находится на пути. Вы всегда можете сделать состояние наведения на SVG, а затем указать путь.
svg:hover > .bell_line
Это будет означать, что вы можете создать большую область для цели с помощью мыши.