欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 能源 > CSS元素动画篇:基于当前位置的变换动画(二)

CSS元素动画篇:基于当前位置的变换动画(二)

2025/4/28 20:35:07 来源:https://blog.csdn.net/wuhen_n/article/details/147546119  浏览:    关键词:CSS元素动画篇:基于当前位置的变换动画(二)

基于当前位置的变换动画(二)

  • 前言
  • 旋转效果类元素动画
    • 摇摆动画效果
      • 效果预览
      • 代码实现
    • 摇晃动画效果
      • 效果预览
      • 代码实现
    • 螺旋旋转
      • 效果预览
      • 代码实现
  • 结语

前言

CSS元素动画一般分为两种:一种是元素基于当前位置的变换动画,通过不明显的位移、缩放等方式,实现动画效果,如弹跳、闪烁、抖动等;另一种是元素基于页面位置的变换动画,通过位移、旋转等方式,实现动画效果,如飞入/飞出等。
基于当前位置的变换动画,我又将根据动画实现效果将其分为4类:

  1. 位移效果类:通过不明显的位移,实现元素动画效果,如:水平抖动、垂直抖动等。
  2. 旋转效果类:通过小幅度旋转,实现元素动画效果,如元素摇摆、摇晃等。
  3. 缩放效果类:通过缩放,实现元素动画效果,如脉冲效果、呼吸效果、心跳效果等。
  4. 透明度效果类:通过改变元素透明度,实现元素动画效果,如闪烁效果。

在上一篇文章中,我们介绍了 位移效果类的相关元素动画效果与代码实现 ,本篇文章将介绍旋转效果类的相关元素动画效果与代码实现。

旋转效果类元素动画

摇摆动画效果

摇摆动画效果:通过旋转元素模拟钟摆的摇摆效果,其效果图如下所示:

效果预览

摇摆动画

代码实现

<style>
/* 摇摆动画效果 */
@keyframes swing {/* 元素开始和结束位置不变 */0%,100% {transform: rotate(0deg);}/* 左右交替旋转,旋转角度逐渐变小 */20% {transform: rotate(15deg);}40% {transform: rotate(-10deg);}60% {transform: rotate(5deg);}80% {transform: rotate(-5deg);}
}
.swing {display: inline-block;height: 100px;font-size: 100px;font-weight: bold;
}
.swing:hover {animation: swing 1s 1 ease-in-out;
}
</style><body><span class="swing">摇摆动画</span>
</body>

摇晃动画效果

摇晃动画效果:通过位移和旋转组合,模拟摇晃效果,其效果图如下所示:

效果预览

摇摆动画

代码实现

<style>
/* 摇晃动画效果 */
@keyframes wobble {/* 元素开始和结束位置不变 */0%, 100% {transform: translate(0, 0);}/* 左右交替旋转,角度逐渐变小 */15% {transform: translateX(-25%) rotateX( -5deg);}30% {transform: translateX(20%) rotateX( 3deg);}45% {transform: translateX(-15%) rotateX(-3deg);}60% {transform: translateX(10%) rotateX( 2deg);}75% {transform: translateX(-5%) rotateX(-1deg);}
}
.wobble {display: inline-block;height: 100px;font-size: 100px;font-weight: bold;
}
.wobble:hover {animation: wobble 1s 1 ease-in-out;
}
</style><body><span class="wobble">摇晃动画</span>
</body>

螺旋旋转

螺旋旋转效果:元素360°旋转并缩放,创建出动态的螺旋运动,其效果图如下所示:

效果预览

螺旋旋转

代码实现

<style>
/* 螺旋旋转效果 */
@keyframes spiral {0% {transform: rotate(0deg) scale(1);}50% {transform: rotate(180deg) scale(0.5);}100% {transform: rotate(360deg) scale(1);}
}
.spiral {padding: 100px 200px;display: inline-block;height: 100px;font-size: 100px;font-weight: bold;
}
.spiral:hover {animation: spiral 2s linear 1;
}
</style><body><span class="spiral">螺旋旋转</span>
</body>

结语

本文主要介绍了几种常见的旋转效果类元素动画,你还知道哪些旋转效果类元素动画?欢迎在评论区留言分享!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词