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

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
.box:hover {transform: skew(10deg);transition-property: transform;transition-duration: 2s;transition-timing-function: ease-in;transition-delay: 1s;
}

2. animation 动画

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

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

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

2.1 animation介绍

  • animation的定义
    • 使用keyframes定义动画过程
    • 配置动画的名称 持续时间 动画曲线 延时时间 执行次数 方向

2.2 @keyframes规则

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

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

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

2.3 animation的属性

  • animation-name:指定定义的动画,也就是@keyframes定义的动画名称
  • animation-duration:动画的持续时间
  • animation-timming-function:动画曲线
  • animation-delay:动画延时时间
  • animation-iteration-count:动画执行的次数,infinite表示无限循环
  • animation-direction:指定方向
    • normal表示正序
    • reverse返序
  • animation-fill-mode:执行动画保留哪个值
    • none: 回到没有执行动画的位置
    • forwards:动画最后一帧的位置
    • backwards:动画第一帧的位置
  • animation-play-state:指定动画的暂停和运行(用JS控制)

2.4 animation的属性简写

  • 顺序 动画名称 动画持续时间 动画曲线 动画延时时间 动画执行次数 动画方向 动画最后停留的帧 动画执行状态
    • animation-name animation-duration animation-timming-function animation-delay animation-iterration-count animation-direction animation-fill-mode animation-play-state

举例

<!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.mzph.cn/news/814004.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java基础知识总结(52)

&#xff08;1&#xff09;String类部分方法 public class StringDemo2 { public static void main(String[] args) {String domainName "https://www.bytecollege";//trim() 去除字符串前后的空格System.out.println(" xyz ".trim());//xyzSystem.ou…

【DM8】临时表空间

临时表分类 事务级临时表会话级临时表 临时表&#xff0c;可以像普通表一样插入、更新和删除数据临时表的DML操作产生较少的redo日志临时表支持创建索引&#xff0c;以提高查询性能在一个会话或事务结束之后&#xff0c;数据将自动从临时表中删除不同的用户访问相同的临时表&a…

简述框架和函数库的区别

框架和函数库在软件开发中各自扮演着重要的角色&#xff0c;但它们之间也存在明显的区别。以下是它们之间的主要差异&#xff1a; 定义与目的&#xff1a; 函数库&#xff1a;函数库是一组预先编写好的函数的集合&#xff0c;这些函数可以被开发人员在其应用程序中调用&#xf…

正则表达式简介

1. 基础字符 . 任意单个字符除换行* 任意字符包含空字符? 任意单个字符[]括号中的出现一次()模式{n,m}出现n-m次^开头$结尾| 或者\w 匹配任意单词\d 匹配数字\s匹配空白字符 2. BRE vs ERE BRE: basic regex expresion ERE: extended regex expression 两者区别在于一些特…

KDTree和Octree的区别

在PCL&#xff08;PointCloud Library&#xff09;中&#xff0c;KD 树&#xff08;KDTree&#xff09;和 Octree&#xff08;Octree&#xff09;都是用于高效搜索点云数据的数据结构&#xff0c;它们之间的主要区别在于其构建方式和搜索性能&#xff1a; KD 树&#xff08;KD…

吴恩达深度学习 (week3,4)

文章目录 一、神经网络概述二、神经网络的表示三、神经网络的输出四、多个例子的向量化五、向量化实现的解释六、深度学习激活函数七、激活函数导数八、神经网络的梯度下降法九、深度学习随机初始化十、上述学习总结1、第一题2、第二题3、第三题4、第四题5、第五题6、第六题7、…

关于Transformer的面试题

文章目录 前言1、Transformer模型1. 1 基本要点1.2 提升 2、BN和LN的区别和联系2.1 基本要点2.2 扩展 3、PreNorm和PostNorm的区别[链接](https://www.zhihu.com/question/519668254)4、Multi-head self-attention中为什么要用三个不同的矩阵 前言 Transformer大模型的一些问题…

【GEE实践应用】哨兵1号和2号数据叠加

目录 1.数据叠加代码 2.代码逐句解释 1.数据叠加代码 var geometry table; //table是我们提前导入的矢量数据 // 加载Sentinel-2影像 var sentinel2 ee.ImageCollection("COPERNICUS/S2").filterBounds(geometry) // geometry是你感兴趣区域的几何对象.filte…

Redis:发布和订阅

文章目录 一、介绍二、发布订阅命令 一、介绍 Redis的发布和订阅功能是一种消息通信模式&#xff0c;发送者&#xff08;pub&#xff09;发送消息&#xff0c;订阅者&#xff08;sub&#xff09;接收消息。这种功能使得消息发送者和接收者不需要直接建立连接&#xff0c;而是通…

商标没有去注册有哪些不好的影响!

有些商家咨询普推知产老杨&#xff0c;商标没有去注册有哪些不好的影响&#xff0c;其实对企业来说还有许多实际不利的影响&#xff0c;有时代价比注册一个商标要大很多。 想的商标名称没去注册商标&#xff0c;如果别人抢注拿下商标注册证&#xff0c;那就会涉及侵权&#xf…

工厂方法模式:解锁灵活的对象创建策略

在软件设计中&#xff0c;工厂方法模式是一种非常实用的创建型设计模式&#xff0c;它不仅提升了系统的灵活性&#xff0c;还简化了对象的创建过程。本文将详细探讨工厂方法模式的核心概念、实现方式、应用场景以及与其他设计模式的对比&#xff0c;旨在提供一份全面且实用的指…

磁悬浮鼓风机市场规模不断增长 我国行业发展面临挑战

磁悬浮鼓风机市场规模不断增长 我国行业发展面临挑战 磁悬浮鼓风机又称磁悬浮高速离心鼓风机&#xff0c;指基于磁悬浮技术制成的气体输送设备。磁悬浮鼓风机综合性能优良&#xff0c;属于高效节能磁悬浮动力装备&#xff0c;在众多领域需求旺盛。未来随着国家节能环保政策逐渐…

阿里云优惠口令2024最新

2024年阿里云域名优惠口令&#xff0c;com域名续费优惠口令“com批量注册更享优惠”&#xff0c;cn域名续费优惠口令“cn注册多个价格更优”&#xff0c;cn域名注册优惠口令“互联网上的中国标识”&#xff0c;阿里云优惠口令是域名专属的优惠码&#xff0c;可用于域名注册、续…

01—JavaScript概述

一、初识Javascript JavaScript一种直译式脚本语言&#xff0c;是一种动态类型、弱类型、基于原型的语言&#xff0c;内置支持类型。它的解释器被称为JavaScript引擎&#xff0c;为浏览器的一部分&#xff0c;广泛用于客户端的脚本语言&#xff0c;最早是在 HTML&#xff08;标…

python3面向对象

1、面向对象编程概述 面向对象编程&#xff08;OOP&#xff09;是一种编程范式&#xff0c;它以“对象”为核心&#xff0c;将数据和操作封装在对象中&#xff0c;通过类和对象来实现代码的组织和复用。在Python3中&#xff0c;面向对象编程是其重要的特性之一。 2、类与对象…

jsoncpp 编译和使用

原文链接&#xff1a; jsoncpp的编译和使用 jsoncpp 编译出库文件 1.从github仓库下载 2.下载 cmake 工具 3.生成VS项目 4.编译得到需要的库文件 jsoncpp 的使用 查看原文

JAVA基础05-数据包装类,JAVA常用类 介绍

目录 基本数据类型的包装类 定义 String是字符串类型 创建String类型的对象 返回指定索引处的 char 值 返回某字符在字符串中出现的索引 替换 返回此字符串的长度 测试此字符串是否以指定的前缀开始 返回一个新的字符串 大小写转换 拆分字符串 字符串的创建及比较…

基于Springboot的自习室预订系统

基于SpringbootVue的自习室预订系统的设计与实现 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringbootMybatis工具&#xff1a;IDEA、Maven、Navicat 系统展示 用户登录页 网站首页 公告信息 留言反馈 后台管理 学生信息管理 公告信息管理 留言…

SGI_STL空间配置器源码剖析(四)_S_refill函数

代码如下&#xff0c;解析已在注释中&#xff0c;下次再剖析_S_chunk_alloc函数和__nobjs变量的作用。 /* Returns an object of size __n, and optionally adds to size __n free list.*/ /* We assume that __n is properly aligned. __n校准过&#xff08;向上临近8&#x…

postgis使用

1 postgreSQL 安装 下载&#xff1a;https://www.postgresql.org/ 2 postgis postgis 属于postgresql插件&#xff0c;安装pg时勾选上postgis 3. 导入shp数据 postgresql可以导入shp数据 4. postgis使用 https://postgis.net/workshops/postgis-intro/creating_db.html