首页  >  文章  >  web前端  >  为什么我使用 CSS3 @keyframes 的上滑动画不起作用?

为什么我使用 CSS3 @keyframes 的上滑动画不起作用?

Patricia Arquette
Patricia Arquette原创
2024-10-28 20:47:31523浏览

Why is my slide-up animation using CSS3 @keyframes not working?

CSS3 过渡 - 淡出效果

使用 CSS3,您可以轻松实现淡出效果以增强用户体验。但是,如果您遇到幻灯片动画不起作用的问题,让我们探讨一下原因。

了解问题

您正在尝试创建上滑动画使用@关键帧。然而,动画并没有发生。为了调试这个问题,我们将深入研究您提供的代码。

<code class="css">.dummy-wrap {
  animation: slideup 2s;
}</code>

此代码指示 .dummy-wrap 类应执行 2 秒的上滑动画。 @keyframes 块定义动画的运动:

<code class="css">@keyframes slideup {
  0% {top: 0px;}
  75% {top: 0px;}
  100% {top: -20px;}
}</code>

幻灯片动画故障排除

检查关键帧,我们注意到元素的位置仅在最后 25 个中发生变化动画的%。由于元素从顶部开始:0px;并在顶部:-20px; 结束,它实际上会立即移动到顶部:-20px;,从而产生突然的“向上滑动”效果。

淡出的替代解决方案

您可以使用不透明度来实现淡出效果,而不是使用翻译。实现方法如下:

<code class="css">.hidden {
  opacity: 0;
  transition: opacity 2s;
}</code>

此技术逐渐降低元素的不透明度,在 2 秒内创建可见的淡出效果。

其他详细信息

在代码的初始版本中,突然的“向上滑动”效果是由于元素的位置仅在动画的最后 25% 中被修改。通过切换到不透明度并在整个持续时间内进行过渡,我们实现了平滑的淡出效果。

以上是为什么我使用 CSS3 @keyframes 的上滑动画不起作用?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn