逐渐为 SVG 设置动画

Posted

技术标签:

【中文标题】逐渐为 SVG 设置动画【英文标题】:Animate SVGs gradually 【发布时间】:2021-05-09 01:24:02 【问题描述】:

我该如何解决这个问题。我需要在一个包含两个 svgs 或 imgs 的 div 上悬停动画,没关系。 当我将鼠标悬停在该 div 内时,我如何触发它,这两个 imgs 将例如移动。也许使用 javascript,但我似乎可以在悬停时瞄准 img。只有鼠标悬停?这使得状态永远改变了。我需要帮助。谢谢!

<div class="circle">
<img id="line-1" src="line.svg" >
<img id="line-2" src="line.svg" >
<div>
.circle 
  position: relative;
  height: 150px;
  width: 150px;
  border: 6px solid black;
  border-radius: 50%;
  padding: 10px;


#line-1 
positin: absolute;
left: 0;
animation: slide 1s ease-in infinite;

#line-2 
positin: absolute;
right: 0;
animation: slide-otherway 1s ease-in infinite;

@keyframes slide 
   0% 
left: 0;


100% 
left: 20px;



@keyframes slide-otherway 
   0% 
right: 0;


100% 
right: 20px;



【问题讨论】:

使用CSS transitions,而不是 CSS 动画。并且更喜欢将transform 属性转换为leftright 属性。 【参考方案1】:

有了mouseenter你还需要使用mouseleave,mouseleave会在ofc时触发,muse离开

【讨论】:

以上是关于逐渐为 SVG 设置动画的主要内容,如果未能解决你的问题,请参考以下文章

使用 animate 标签为转换(旋转)的 SVG 组设置动画

如何使用 SVG 为网页上的手写文本设置动画?

在链接悬停时为 SVG 设置动画

React Native Reanimated 2 为 SVG 路径的长度设置动画

带有变换的css关键帧动画不适用于SVG

如何在 mouseover/mouseout (SMIL) 上为内联 SVG 的填充属性设置动画