【CSS基础】10.过度动画transition和动画animation

embedded/2024/9/23 14:35:07/

1. 动画>transition过度动画

1.1 介绍

  • CSS trnasition提供了一种在更改CSS属性时控制动画速度的方法。

  • 可以让CSS的属性变化称为一个秩序一段时间的过程,而不是默认的立即生效

  • 比如在基础9中我们学到的trnaslate可以让一个元素移动,但瞬间就完成了

  • 我们可以利用trnasition让这个完成的过程有一定的动画效果

  • 属性可以控制的内容

    • 哪些属性需要进度过度动画
    • 何时开始,可以延时触发,比如2s后再进行动画
    • 持续多久(duration)动画的持续时间
    • 定义动画(匀速、先快后慢、先慢后快)timing

1.2 哪些CSS属性可以做动画

  • 可以通过MDN查询

    • https://developer.mozilla.org/zh-CN/docs/Web/CSS/CSS_animated_properties
  • 月度CSS属性的文档说明

1.3 过渡动画 transition 的属性值

  • transition-propety:指定过度属性的名称,比如width、left
    • all:所有属性都执行动画
    • none:所有属性都不执行动画
  • transition-duration:动画的持续时间
    • 单位可以说秒s或者是毫秒ms
  • trnasition-timing-function:指定动画的变化曲线
    • 通过这里查询
      • https://developer.mozilla.org/zh-CN/docs/Web/CSS/transition-timing-function
  • transition-delay:指定延时时间
    • 秒s
  • transition:是整个动画的简写
    • 顺序:过度属性 持续时间 变化曲线 延时时间
    • transition-propety transition-duration transition-timming-function transition-delay
css">.box:hover {transform: skew(10deg);transition-property: transform;transition-duration: 2s;transition-timing-function: ease-in;transition-delay: 1s;
}

animation__48">2. animation 动画

前面我们学习了trnasition来进行过度动画,但过渡动画有如下缺点

  • transition只能定义开始和结束状态,不能定义中间的过程
  • transition不能重复执行
  • transition需要在特定的状态下执行,比如某个元素修改了

那么animation就是更为复杂的动画,可以解决以上问题

animation_58">2.1 animation介绍

2.2 @keyframes规则

  • 使用@keyframes来定义整个动画的状态变化
    • 定义动画发生的事件点,比如0% 20% 100%等
    • 0%表示动画发生的第一时刻,100%表示动画的最终时刻
    • 开始和结束还有两个特殊的别名,from和to

比如,我们要将一个盒子先向下平移,再向右,最后向上

css">@keyframes translateAnimation {0% {transform: translate(0, 0);}33% {transform: translate(0, 100px);}66% {transform: translate(200px, 100px);}100% {transform: translate(200px, 0px);}
}

animation_90">2.3 animation的属性

animation_106">2.4 animation的属性简写

举例

css"><!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title><style>.box {width: 100px;height: 100px;background-color: pink;animation: translateAnimation 2s ease 1s 2 normal forwards;}@keyframes translateAnimation {0% {transform: translate(0, 0);}33% {transform: translate(0, 100px);}66% {transform: translate(200px, 100px);}100% {transform: translate(200px, 0px);}}</style></head><body><div class="box"></div></body>
</html>

http://www.ppmy.cn/embedded/4584.html

相关文章

机器学习和深度学习的区别

机器学习与深度学习的区别 一、原理差异二、应用差异三、实现方式差异四、在实际应用中扮演的角色1、图像识别和计算机视觉2、自然语言处理NLP3、语音识别领域4、其它—智能制造/医疗健康/金融/教育 五、总结 在人工智能领域&#xff0c;机器学习和深度学习是两个重要的概念&am…

Spring MVC

Spring MVC&#xff1a;以前在编写网页时&#xff0c;会将网页的编写分为三个部分&#xff0c;MVC其分别表示三个不同的部分模型&#xff08;Mode&#xff09;&#xff0c;视图&#xff08;View&#xff09;&#xff0c;控制器&#xff08;Controller&#xff09;&#xff0c;来…

SQLite的PRAGMA 声明(二十三)

返回&#xff1a;SQLite—系列文章目录 上一篇&#xff1a;SQLite从出生到现在&#xff08;发布历史记录&#xff09;&#xff08;二十二&#xff09; 下一篇&#xff1a;用于 SQLite 的异步 I/O 模块&#xff08;二十四&#xff09; PRAGMA 语句是特定于 SQLite 的 SQL 扩…

集成电路测试学习

集成电路&#xff08;Integrated Circuit&#xff0c;IC&#xff09;整个设计流程包括&#xff1a;电路设计、晶圆制造、晶圆测试、IC封装、封装后测试。 IC测试目的&#xff1a;一、确认芯片是否满足产品手册上定义的规范&#xff1b;二、通过测试测量&#xff0c;确认芯片可以…

使用PHP开发体育赛事直播平台,有这些缺点和优点

"东莞梦幻网络科技"作为体育直播平台开发领域的领导者&#xff0c;选择使用PHP开发体育赛事直播平台的现成源码&#xff0c;为什么会选择该语言&#xff0c;背后的选择理由可以从该技术的优点和缺点中找到答案。 一、优点1、易学易用与快速开发&#xff1a;PHP语言语…

Linux环境变量深度解析

文章目录 一、引言二、环境变量的基本概念1、环境变量的定义2、环境变量的作用与意义 三、环境变量的导入1、导入所需文件2、登陆时的导入 四、环境变量的设置方法1、查看环境变量的方式2、使用export命令临时设置环境变量3、修改配置文件以永久设置环境变量 五、命令行参数与环…

Redis 核心知识点常考面试题(持续更新中)

Redis 核心知识点常考面试题&#xff08;持续更新中&#xff09; Redis单线程IO多路复用原理Redis缓存穿透、缓存雪崩、缓存击穿问题Redis与数据库双写不一致问题基于Redis实现分布式锁的的应用场景Redis持久化方式Redis内存淘汰机制Redis删除策略Redis主从复制、哨兵、集群Red…

盲人出行安全保障措施:科技赋能,赋予视障群体独立出行新可能

在社会的各个角落&#xff0c;我们常常能看到盲人朋友们坚韧而乐观地面对生活的挑战。然而&#xff0c;尽管他们内心充满力量&#xff0c;但日常出行中的种种困难却始终如影随形。如何有效提升盲人出行安全保障措施&#xff0c;让他们能更自由、更自信地融入社会生活&#xff0…