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

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

前言

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

基于当前位置的变换动画,我又将根据动画实现效果将其分为4类:

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

本文主要介绍透明度效果类的相关元素动画效果与代码实现。

透明效果类元素动画

闪烁动画效果

闪烁动画效果:通过控制元素周期性的显示和隐藏,模拟闪烁的效果,其效果图如下所示:

效果预览

代码实现

html 复制代码
<style>
/* 闪烁动画 */
@keyframes blink {
  0%, 100% {
	opacity: 1;
  }
  50% {
	opacity: 0;
  }
}
.blink  {
  display: inline-block;
  height: 100px;
  font-size: 100px;
  font-weight: bold;
}
.blink:hover {
  animation: blink 1s 1;
}
</style>

<body>
  <span class="blink">闪烁动画</span>
</body>

淡入动画效果

淡入动画效果:元素由完全透明(不可见)变成完全不透明(可见)的过程,其效果图如下所示:

效果预览

代码实现

html 复制代码
<style>
/* 淡入动画 */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fade-in  {
  display: inline-block;
  height: 100px;
  font-size: 100px;
  font-weight: bold;
}
.fade-in:hover {
  animation: fadeIn 2s ease-in-out;
}
</style>

<body>
  <span class="fade-in">淡入动画</span>
</body>

淡出动画效果

淡出动画效果:元素由完全不透明(可见)变成完全透明(不可见)的过程,其效果图如下所示:

效果预览

代码实现

html 复制代码
<style>
/* 淡出动画 */
@keyframes fadeOut {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fade-out  {
  display: inline-block;
  height: 100px;
  font-size: 100px;
  font-weight: bold;
}
.fade-out:hover {
  animation: fadeOut 2s ease-in-out;
}
</style>

<body>
  <span class="fade-out">淡出动画</span>
</body>

结语

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

相关推荐
Jolyne_4 分钟前
前端常用的树处理方法总结
前端·算法·面试
wordbaby6 分钟前
后端的力量,前端的体验:React Router Server Action 的魔力
前端·react.js
Alang6 分钟前
Mac Mini M4 16G 内存本地大模型性能横评:9 款模型实测对比
前端·llm·aigc
林太白7 分钟前
Rust-连接数据库
前端·后端·rust
wordbaby15 分钟前
让数据“流动”起来:React Router Client Action 与组件的无缝协作
前端·react.js
宁静_致远20 分钟前
React 性能优化:深入理解 useMemo 、useCallback 和 memo
前端·react.js·面试
旺仔牛仔QQ糖21 分钟前
项目中TypeScript 编译器的工作流程
前端·typescript
coding丨21 分钟前
自制微信小程序popover菜单,气泡悬浮弹窗
前端·javascript·vue.js
anyup29 分钟前
10000+ 个点位轻松展示,使用 Leaflet 实现地图海量标记点聚类
前端·数据可视化·cursor
林太白31 分钟前
Rust认识安装
前端·后端·rust