首页 > web前端 > css教程 > 正文

如何为容器内的 Div 创建平滑的左右 CSS 动画?

Susan Sarandon
发布: 2024-10-30 12:34:03
原创
370 人浏览过

How to Create a Smooth Left-Right CSS Animation for a Div Within Its Container?

左右移动的通用 CSS 动画

在本文中,我们将探索创建一个通用 CSS 动画来向左移动 div向右,到达容器的边缘。此动画可以应用于任何具有绝对定位的 div,无论其长度未知。

问题:直接使用 Left 会导致瞬间消失

最初使用 left 0% 和 100% 会导致 div 在移动时暂时消失。这是因为在 100% 时,div 的 left 属性超出了容器的宽度,导致出现负值并且位置超出屏幕。

更流畅的解决方案:混合 Transform 和 Left

为了解决这个问题并实现平滑的线性运动,我们引入了变换。这允许我们相对于当前位置移动 div,确保它不会超出容器的边界。

这是使用变换的动画的更新版本:

@keyframes destraSinistra {
  0% {
    left: 0;
  }
  100% {
    left: 100%;
    transform: translateX(-100%);
  }
}

#div1 {
  /* ... */
  animation: destraSinistra 1s linear infinite alternate;
}
登录后复制

在此代码中,100% 的关键帧同时使用左和变换。 Left 将 div 移动到右边缘,而 Transform 进一步将其平移到左侧以补偿超调。这种组合有效地防止了 div 离开屏幕。

以上是如何为容器内的 Div 创建平滑的左右 CSS 动画?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!