Я отвечал на вопрос о переполнении стека, когда понял, что это может быть ошибка в Firefox при анимации строки с stroke-linecap="round"
с помощью vector-effect="non-scaling-stroke"
svg{border:1px solid}
path{
animation: draw 1s ease-in;
animation-fill-mode: forwards;
}
@keyframes draw {
from{transform:scale(0.1,1)}
to {transform:scale(1,1)}
}
<svg viewBox="0 0 700 100">
<path d="M0,50H500" stroke="blue" stroke-width = "25" stroke-linecap="round" transform="scale(0.1,1)" vector-effect="non-scaling-stroke"/>
</svg>
Это конечный результат в Chrome:
![enter image description here](https://i.stack.imgur.com/qS0zw.png)
И это в Firefox:
![enter image description here](https://i.stack.imgur.com/5H8Rj.png)
Обратите внимание, что этого не происходит, если путь не анимирован.
Как мне избежать этой проблемы?
UPDATE
Более того: настройка кода, который я придумал:
Если я изменю transform="scale(.1,1)"
на transform="scale(1,1)"
, аспект "округлости" будет выглядеть хорошо в конце анимации, однако округлость начинается ровно и поднимается во время анимации, как вы можете видеть на экране. следующий пример:
![enter image description here](https://i.stack.imgur.com/CyUHI.png)
svg{border:1px solid}
path{
animation: draw 10s ease-in;
animation-fill-mode: forwards;
}
@keyframes draw {
from{transform:scale(0.1,1)}
to {transform:scale(1,1)}
}
<svg viewBox="0 0 700 100">
<path d="M0,50H500" stroke="blue" stroke-width = "25" stroke-linecap="round" transform="scale(1,1)" vector-effect="non-scaling-stroke"/>
</svg>