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

devtools/2024/9/23 3:09:17/

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/devtools/4800.html

相关文章

C# 面向对象编程(三)——接口/枚举类型/泛型

总目录 C# 语法总目录 C# 面向对象编程 三—接口/枚举类型/泛型 接口1. 显示接口实现2. 虚方法实现接口函数 枚举类型泛型类型1.协变/逆变 接口 接口和类区别在于&#xff0c;接口不用为成员函数提供实现&#xff0c;接口的成员都是隐式抽象的&#xff0c;而且接口不能有字段&…

设计模式-外观模式

外观设计模式 定义 何为外观,就是对外提供一个统一的入口,一是可以隐藏系统内部的细节,二是可以降低使用者的复杂度,比如SpringMvc中的DispaterServlet,所有的Controller都是通过DispaterServlet统一暴露。 使用场景 降低使用者的复杂度,简化客户端的接入成本。 实践…

【JAVA基础篇教学】第十三篇:Java中I/O和文件操作

博主打算从0-1讲解下java基础教学&#xff0c;今天教学第十三篇&#xff1a;Java中I/O和文件操作。 理解 Java 中的 I/O&#xff08;输入/输出&#xff09;和文件操作对于开发各种类型的应用程序都至关重要。I/O 操作涉及从文件、网络或其他数据源中读取数据&#xff0c;以及…

如何查看微信公众号发布文章的主图,如何看微信文章的主图,怎么才能拿到主图

如何查看&#xff0c;微信公众号发布文章的主图&#xff0c;如何看微信文章的主图 起因是这样的&#xff0c;当我看到一篇文章的时候&#xff0c;他的主图很漂亮&#xff0c;但是&#xff0c;正文里没有&#xff0c;而我又想看到&#xff0c;并且使用这张图片&#xff0c;该怎么…

比例微积分算法

比例微积分&#xff08;Proportional-Integral-Derivative&#xff0c;简称PID&#xff09;算法是一种常用的控制算法&#xff0c;它用于计算控制器的输出&#xff0c;以使得系统的输出能够尽可能地跟踪期望的目标值。PID控制器基于系统的误差&#xff08;目标值与当前值的差&a…

.cur 鼠标光标编辑器

详解透明贴图和三元光栅操作 - CodeBus 鼠标指针文件格式解析——Windows&#xff08;二&#xff09; (qq.com) [C/C] RGBA数组生成Windows下的ico文件_c ico格式-CSDN博客 色环设计 - CodeBus 左键绘制 右键选颜色 ctrl右键设置鼠标热点 F1导出.cur文件 //代码来源&…

【热门话题】探索与心得:深入体验Microsoft Edge浏览器

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 探索与心得&#xff1a;深入体验Microsoft Edge浏览器一、Edge浏览器概述1.1 发…

恒峰智慧科技—森林防火杆:科技与环保的完美结合

在当今世界&#xff0c;我们不仅要关注人类生活的方方面面&#xff0c;也需要更加重视环境保护。尤其是在森林火灾的防范上&#xff0c;科技的应用显得尤为重要。这就是我们今天要介绍的主角——森林防火杆。 首先&#xff0c;让我们来了解一下森林防火杆的基本配置。这是一种基…