当前位置: 首页 > ds >正文

CSS元素动画篇:基于页面位置的变换动画

基于页面位置的变换动画

  • 前言
  • 基于页面位置的变换动画
    • 从上往下移动
      • 效果预览
      • 代码实现
    • 从下往上移动
      • 效果预览
      • 代码实现
    • 从左往右移动
      • 效果预览
      • 代码实现
    • 从右往左移动
      • 效果预览
      • 代码实现
  • 结语

前言

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

基于页面位置的变换动画

基于页面位置的变换动画:主要是通过元素从页面不同的位置移动到指定位置,并添加旋转、缩放等方式实现动画效果,其效果和基于当前位置的变换动画大同小异,本文主要介绍从上、下、左、右四个不同的方式实现基于页面位置的变换动画。

从上往下移动

从上往下移动:通过translateY设置动画,初始帧设为一个较大的负值,移动到当前位置,其效果图如下所示:

效果预览

从上往下移动

代码实现

<style>@keyframes topToBottom {0% {opacity: 0;transform: translateY(-1200px);}80% {opacity: 0.7;transform: translateY(0px);}100% {opacity: 1;transform: translateY(0px);}}.top-to-down {padding: 100px 200px;display: inline-block;height: 100px;font-size: 100px;animation: topToBottom 1.5s ease-in-out 1;}
</style><body><span class="top-to-down">从上往下移动</span>
</body>

从下往上移动

从下往上移动:通过translateY设置动画,初始帧设为一个较大的正值,移动到当前位置,其效果图如下所示:

效果预览

从下往上移动

代码实现

<style>@keyframes downToTop {0% {opacity: 0;transform: translateY(1200px);}80% {opacity: 0.7;transform: translateY(0px);}100% {opacity: 1;transform: translateY(0px);}}.down-to-top {padding: 100px 200px;display: inline-block;height: 100px;font-size: 100px;animation: downToTop 1.5s ease-in-out 1;}
</style><body><span class="down-to-top">从下往上移动</span>
</body>

从左往右移动

从左往右移动:通过translateX设置动画,初始帧设为一个较大的负值,移动到当前位置,其效果图如下所示:

效果预览

从左往右移动

代码实现

<style>@keyframes leftToRight {0% {opacity: 0;transform: translateX(-1200px);}80% {opacity: 0.7;transform: translateX(0px);}100% {opacity: 1;transform: translateX(0px);}}.left-to-right {padding: 100px 200px;display: inline-block;height: 100px;font-size: 100px;animation: leftToRight 1.5s ease-in-out 1;}
</style><body><span class="left-to-right">从左往右移动</span>
</body>

从右往左移动

从右往左移动:通过translateX设置动画,初始帧设为一个较大的正值,移动到当前位置,其效果图如下所示:

效果预览

从右往左移动

代码实现

<style>@keyframes rightToLeft {0% {opacity: 0;transform: translateX(1200px);}80% {opacity: 0.7;transform: translateX(0px);}100% {opacity: 1;transform: translateX(0px);}}.right-to-left {padding: 100px 200px;display: inline-block;height: 100px;font-size: 100px;animation: rightToLeft 2s ease-in-out 1;}
</style><body><span class="right-to-left">从右往左移动</span>
</body>

结语

本文主要简单介绍了几种常见的基于页面位置的元素动画,你还知道哪些基于页面位置的元素动画?欢迎在评论区留言分享!

http://www.xdnf.cn/news/2803.html

相关文章:

  • leetcode 19. 删除链表的倒数第 N 个结点
  • [多彩数据结构] 笛卡尔树
  • 智能Python开发工具PyCharm v2025.1——AI层级功能重磅升级
  • Ajax 提交表单与文件上传
  • Windows 图形显示驱动-待机休眠优化
  • 升级Xcode16,flutter项目报错
  • 浏览器插件,提示:此扩展程序未遵循 Chrome 扩展程序的最佳实践,因此已无法再使用
  • jeecgboot 3.8.0 集成knife4j问题一文解决
  • MCP:如何通过模型控制推理助力AI模型实现“深度思考”?
  • 机器视觉的坐标标定
  • Python分支结构全面解析与实战应用指南
  • opendds编译开发(c#封装)
  • Android WebRTC回声消除
  • 具身智能:从理论突破到场景落地的全解析
  • 小目标检测的集成融合论文阅读
  • 项目实战-贪吃蛇大作战【补档】
  • 快速搭建对象存储服务 - Minio,并解决临时地址暴露ip、短链接请求改变浏览器地址等问题
  • 对比N+1查询和关联聚合查询
  • Spring Cloud Config 自定义配置源与动态刷新:从原理到企业级实践
  • Kafka 配置参数性能调优建议
  • 31、简要描述Promise.all的用途
  • 在 Ubuntu 22.04 x64 系统安装/卸载 1Panel 面板
  • 电子电器架构 ---电气/电子架构将在塑造未来出行方面发挥啥作用?
  • [Linux运维] [Ubuntu/Debian]在Lightsail Ubuntu服务器上安装Python环境的完整指南
  • 在线图书管理系统的结构化设计过程讲解
  • [密码学实战]SDF之设备管理类函数(一)
  • uniapp常用
  • case和字符串操作
  • 网络原理 - 10(HTTP/HTTPS - 1)
  • UniApp 实现分享功能