CSS不透明度动画改变位置? [关闭]

问题描述 投票:1回答:1

用于更改不透明度的CSS动画属性是否也会更改元素的位置?如果是这样,DOM中发生了什么事情,以及它如何被抵消?

上下文:我已经将Javascript EventListener添加到一组图像中,这些图像在单击时调用一个函数来启动一个淡化点击图像的CSS动画。还设置了一个计时器,用于删除CSS类,从而将点击的图像从不透明度0返回到不透明度1.除了图像再次出现在我最初放置的位置的左侧和顶部以及我想要的位置之外,一切正常是。 Chrome和Safari都会产生相同的不良影响。

这是CSS:

.hiddenanimal { 
    animation: animalfade 1s;
    animation-fill-mode: forwards;
}

@keyframes animalfade {
    from { opacity: 1; 
    } to {  opacity: 0; 
    }
}
javascript css dom css-animations
1个回答
0
投票

简单回答:CSS动画只会改变你告诉它的值。在你的例子中:

@keyframes animalfade {
  from {opacity: 1;} to {opacity: 0;}
}

唯一会改变的是opacity

如果你的元素正在移动,那么其他东西正在发生,也许不会与动画元素一起发生。

你问DOM中发生了什么。技术上:没有。 CSS值随时间而变化,而不是DOM。

有一个更好的例子可以帮助其他人更好地回答你的问题。我做了一些假设,不知道我的答案是否与你想知道的一致。如果您可以更新您的问题以包含一些HTML和JavaScript,那么我可以修改我的答案。

© www.soinside.com 2019 - 2024. All rights reserved.