Day10_CSS过度动画

Day10_CSS过度动画

背景 : PC和APP项目我们已经开发完毕, 但是再真正开发的时候有些有些简易的动态效果我们可以使用CSS完成 ; 本节课我们来使用CSS完成基础的动画效果

今日学习目标

  1. CSS3过度
  2. CSS3平面动态效果
  3. CSS3动画效果
  4. 案例

1. CSS3过渡

​ 含义 :过渡指的是元素从一种状态向另外一种状态进行缓慢的改变, 这种缓慢的效果被称之为过度 ; 过度属于动画的一种, 但是这种动画需要通过鼠标事件才能触发 , 没有鼠标事件是不能触发该属性的;

​ 基本语法 : transition : all 3s linear 5s ;

​ 释义 : transition代表的是过度属性 ( 复合属性 )

​ all : 代表的是所有能参与过度动画的属性 ;

​ 3s : 代表的是过度动画执行需要花费的时间 ;

​ linear : 代表的是过度动画的动画类型;

​ 5s : 代表的是过渡到动画的延迟执行;

​ 案例 :

<style>div:hover{width:500px;height:500px;border-radius:50%;backhground-color:green;}div{width:300px;height:300px;background-color:red;border:10px solid gray;/*在这里过度动画放在初始效果里面, 能实现缓慢开始, 缓慢结束, 如果把过度属性放在鼠标事件属性中, 只有缓慢开始没有缓慢结束*/transition:all 3s linear 5s;}
</style>
<div></div>

​ 单一属性 :

​ transition-property : 所有能参与过度的动画属性; 如果使用单一属性的话, 后面多个属性之间使用逗号隔开, 但是多个属性可以直接使用all代替; 需要注意的是 : display, visibility , 渐变不参与过度 ;

​ transition-duration : 过度动画需要花费的时间 ;

​ transition-timing-function : 过度动画执行的类型

​ 取值 :

​ a) ease : 平滑过渡

​ b) ease-in : 由慢到快

​ c) ease-out : 由快到慢

​ d) ease-in-out : 由慢到快再到慢

​ e) linear : 线性过渡 , 匀速直线运动

​ f) steps() : 按照步骤执行

​ g) 贝塞尔曲线 : cubic-bezier(, , , )

​ transition-delay: 过度动画的延迟执行 ;
在这里插入图片描述

2. CSS3平面动态交互

​ 含义 : CSS3平面动态效果, 其实就是平面上面的平移 , 旋转 , 缩放 , 倾斜等高级函数 ; 接下来我们要学习四个高级函数 , 但是四个高级函数 , 共用一个属性 : transform属性 ;

​ 注意 : transform也是动画的一种, 这种动画也需要配合鼠标事件才能完成, 如果想要实现缓慢的改变, 则需要配合transition过度动画;

1)平移函数

在这里插入图片描述

​ 含义 : 指的是, 平面X轴和Y轴上面的移动动画

​ 基本语法 : transform : translateX(number) / translateY(number) / translate(x,y)

​ 释义 :

​ translateX(number) : 代表的是水平平移; 取值+向右平移, 取值-向左平移

​ translateY(number) : 代表的是垂直平移; 取值+向下平移, 取值-向上平移

​ translate(x,y) : 代表的是水平和垂直方向平移, 如果取值为一个值, 则只能实现一个方向

​ 案例 :

<style>div:hover{transform:translateX(200px)}div{width:200px;height:200px;border:10px solid gray;background-color:red;/*如果想要实现缓慢的移动, 则需要讲过度属性方法初始效果中*/transition:all linear 3s}
</style>
<div></div>

2)旋转函数

在这里插入图片描述

在这里插入图片描述

​ 含义 : 指的是 元素能在平面上面进行旋转的动画

​ 基本属性 : transform : rotateX(deg) / rotateY(deg) / rotate(deg)

​ 释义 :

​ rotateX() : 元素绕着X轴进行旋转 ; 类似于 : 烤全羊 , 水井上面的辘辘

​ rotateY() : 元素绕着Y轴进行旋转 ; 类似于 : 吊炉烤鸭 ;

​ rotate() : 元素绕着中心点进行旋转 ; 中心点 ( 位于元素正中心位置 )

​ 问题 : 元素默认是绕着中心点进行旋转, 如果调整旋转中心?

​ 属性 : transform-origin : x y; x代表的是水平位置, y代表的是垂直位置; 旋转中心可以再元素内部, 也可以位于元素外边

​ 注意 : 旋转中心一般需要放在初始效果中 ;

​ 案例 :

<style>div{width:200px;height:300px;background-color:red;margin:100px auto;/*默认的旋转中心再元素正中心位置*//*调增旋转中心*/transform-origin: -20px -20px;}div:hover{transform:rotate(30deg)}
</style>
<div></div>

3)缩放函数

在这里插入图片描述

​ 含义 : 通过平面上面的缩放函数, 来实现元素的缩小和放大

​ 基本语法 : transform : scaleX() / scaleY() / scale()

​ 释义 :

​ scaleX() : 元素沿着X轴进行缩小放大 : 取值+为x轴方向放大 , 取值-为x轴方向缩小

​ scaleY() : 元素沿着Y轴进行缩小放大 : 取值+为y轴方向放大 , 取值-为y轴方向缩小

​ scale() : 元素沿着中心点进行缩小放大 , 取值为一个值的时候, 代表了水平和垂直两个方向, 取值为两个值的时候, 第一个值代表的水平方向, 第二个值代表的是垂直方向;

​ 案例 :

<style>div{width:300px;height:300px;border:10px solid gray;/*如果想要实现缓慢的缩放, 需要配合过度属性*/transition:all 3s linear;}div:hover{/*鼠标放在上面的时候, 元素*/transform:scale(2)}
</style>
<div></div>

4)倾斜函数

在这里插入图片描述

​ 含义 : 倾斜效果类似于旋转 , 但是意义不一样 , 倾斜是沿着都一个轴线进行倾斜 , 就像是军训的时候教官让我们站军姿 , 身体向前倾斜一样 ; 倾斜的时候会与X轴或者是Y轴形成一个夹角

​ 基本语法 : transform : skew() / skewX() / skewY()

​ 释义 :

​ skew(参数1, 参数2) : 代表的是沿着x轴和y轴进行倾斜, 参数1和参数2代表的是对应倾斜度数

​ skewX(参数) : 代表的是沿着x轴进行倾斜; 与y轴形成夹角

​ skewY(参数) : 代表的是沿着Y轴进行倾斜; 与x轴形成夹角
在这里插入图片描述
在这里插入图片描述

​ 案例 :

<style>div{width:300px;height:300px;border:10px solid gray;/*如果想要实现缓慢的倾斜, 需要配合过度属性*/transition:all 3s linear;}div:hover{/*鼠标放在上面的时候, 元素*/transform:skewX(30deg)}
</style>
<div></div>

3. CSS3动画

​ 含义 : CSS3里面的动画指的是animation动画 , animation动画是真整意义上的动画, 不依靠鼠标事件就能完成动画的执行 ;

​ 基本语法 : animation : name 5s linear 3s infinite alternate 注意 : animation属性是一个复合属性; 后面的取值均有对应的单一属性

​ 基本释义 :

​ animation : 是触发动画的属性 , 一般哪里需要调用动画

​ name : 调用动画 , 声明动画的名字 , 想要使用animation属性必须得声明动画;

​ 5s : 动画执行的时间

​ linear : 动画执行的类型

​ 3s : 动画延迟执行

​ infinite : 动画制定的次数, 可以为数值, 数值代表执行多少次, infinite代表的无穷尽的一直执行;

​ 声明动画 :

@keyframes mymove{ from{初始状态属性}to{结束状态属性}
}
或
@keyframes mymove{0%{初始状态属性}100%{结束状态属性}
}(中间再可以添加关键帧)

​ 单一属性 :

animation-name  检索或设置对象所应用的动画名称
animation-duration  检索或设置对象动画的持续时间
animation-timing-function  检索或设置对象动画的过渡类型linear	动画从头到尾的速度是相同的。	测试ease	默认。动画以低速开始,然后加快,在结束前变慢。	测试ease-in	动画以低速开始。	测试ease-out	动画以低速结束。	测试ease-in-out	动画以低速开始和结束。	测试cubic-bezier(n,n,n,n)	在 cubic-bezier 函数中自己的值。可能的值是从 0 到 1 的数值。
animation-delay  检索或设置对象动画延迟的时间
animation-iteration-count  检索或设置对象动画的循环次数
animation-direction  检索或设置对象动画在循环中是否反向运动normal:正常方向reverse:反方向运行alternate:动画先正常运行再反方向运行,并持续交替运行alternate-reverse:动画先反运行再正方向运行,并持续交替运行
animation-play-state  检索或设置对象动画的状态running:运动paused: 暂停

4. 案例

<style>*{margin:0;padding:0}div{width:300px;height:300px;background-color:red;/*2)调用动画*/animation:change 3s linear 5s 5 alternate}/*1)声明动画*/@keyframes change{/*初始样式*/0%{/*如果初始样式和默认样式一模一样, 则可以省略不写*/width:300px;height:300px;background-color:red;}/*中间可以添加更多的关键帧;增加多处百分比*//*结束样式*/100%{width:500px;hieght:500px;background-color:green;border-radius:50%;}}/*鼠标悬停的时候,能让动画停止;*/div:hover{animation-play-state:paused}
</style>
<div></div>

5. 综合案例

案例1 : 平移案例

案例2 : 旋转案例

案例3 : 缩放案例

案例4 : 动画案例

案例5 : 关键帧动画

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/61596.shtml

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

相关文章

go语言闭包捕获的是变量的引用而不是变量的值

在 Go 语言中&#xff0c;闭包捕获的是变量的引用&#xff0c;而不是变量的值。这意味着闭包会引用循环变量或外部变量的实际内存位置&#xff0c;而不是在闭包创建时复制变量的值。这种行为有时会导致意外的结果&#xff0c;尤其是在循环中创建多个闭包时。 闭包捕获变量的引…

操作系统进程和线程——针对实习面试

目录 操作系统进程和线程什么是进程和线程&#xff1f;进程和线程的区别&#xff1f;进程有哪些状态&#xff1f;什么是线程安全&#xff1f;如何实现线程安全&#xff1f;什么是线程安全&#xff1f;如何实现线程安全&#xff1f; 进程间的通信有哪几种方式&#xff1f;什么是…

MyBatis——#{} 和 ${} 的区别和动态 SQL

1. #{} 和 ${} 的区别 为了方便&#xff0c;接下来使用注解方式来演示&#xff1a; #{} 的 SQL 语句中的参数是用过 ? 来起到类似于占位符的作用&#xff0c;而 ${} 是直接进行参数替换&#xff0c;这种直接替换的即时 SQL 就可能会出现一个问题 当传入一个字符串时&#xff…

图像处理 之 凸包和最小外围轮廓生成

“ 最小包围轮廓之美” 一起来欣赏图形之美~ 1.原始图片 男人牵着机器狗 2.轮廓提取 轮廓提取 3.最小包围轮廓 最小包围轮廓 4.凸包 凸包 5.凸包和最小包围轮廓的合照 凸包和最小包围轮廓的合照 上述图片中凸包、最小外围轮廓效果为作者实现算法生成。 图形几何之美系列&#…

美畅物联丨智能分析,安全管控:视频汇聚平台助力智慧工地建设

随着科技的持续发展&#xff0c;建筑行业正朝着智能化的方向迅猛迈进。智慧工地作为建筑行业智能化的关键体现形式&#xff0c;借助各类先进技术来提升工地的管理效率、安全性以及生产效益。在这个过程中&#xff0c;视频汇聚平台发挥着极为重要的作用。以畅联AIoT开放云平台为…

2024亚太杯数学建模C题【Development Analyses and Strategies for Pet Industry 】思路详解

C&#xff1a;宠物行业及相关产业的发展分析与战略 随着人们消费观念的发展&#xff0c;宠物行业作为一个新兴产业&#xff0c;正在全球范围内逐渐积聚势头&#xff0c;这得益于快速的经济发展和人均收入的提高。1992年&#xff0c;中国小动物保护协会成立&#xff0c;随后1993…

安装spark

spark依赖java和scale。所以先安装java&#xff0c;再安装scale&#xff0c;再是spark。 总体教程跟着这个链接 我跟着这个教程走安装java链接&#xff0c;但是有一些不同&#xff0c;原教程有一些错误&#xff0c;在环境变量设置的地方。 java 首先下载jdk。 先看自己的环境…

MACOS开发、使用常见问题汇总

MACOS常见问题 本文记录使用macos遇到的常见问题&#xff0c;后面会持续更新&#xff0c;觉得有用的可以收藏一下。 打不开xxx.app&#xff0c;因为它来自身份不明的开发者解决方法(开启任何来源) 打开终端&#xff08;Terminal&#xff09;程序 拷贝sudo spctl --master-di…

【MySQL实战45讲笔记】基础篇——深入浅出索引(上)

系列文章 基础篇——MySQL 的基础架构 基础篇——redo log 和 binlog 基础篇——事务隔离 目录 系列文章深入浅出索引&#xff08;上&#xff09;4.1 索引的常见模型4.2 InnoDB 的索引模型4.3 索引维护4.4 思考&#xff1a;为什么要重建索引以及如何做&#xff1f; 深入浅出索…

关于一次开源java spring快速开发平台项目RuoYi部署的记录

关于一次开源java spring快速开发平台项目RuoYi部署的记录 本次因为需要一些练习环境&#xff0c;想要快速搭建一个javaweb 项目作为练习环境&#xff0c;经过查询和实验找到一个文档详细&#xff0c;搭建简单&#xff0c;架构也相对比较新的开源项目RuoYi。 项目介绍&#xf…

Quartus+Nios II for eclipse问题合集

由于对于FPGANIOS II 的工作需要&#xff0c;对工作过程中遇到的问题进行记录&#xff0c;持续更新。 1、BSP directory does not exist: . Stop.Nios II使用过程中遇到的一些问题2_error executing nios2-bsp-generate-files --bsp-di-CSDN博客https://blog.csdn.net/qq_39485…

「OpenCV交叉编译」ubuntu to arm64

Ubuntu x86_64 交叉编译OpenCV 为 arm64OpenCV4.5.5、cmake version 3.16.3交叉编译器 gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu 可在arm或linaro官网下载所需版本&#xff0c;本文的交叉编译器可点击链接跳转下载 Downloads | GNU-A Downloads – Arm Developer L…

基于深度学习的点云分割网络及点云分割数据集

点云分割是根据空间、几何和纹理等特征对点云进行划分&#xff0c;使得同一划分内的点云拥有相似的特征。点云的有效分割是许多应用的前提&#xff0c;例如在三维重建领域&#xff0c;需要对场景内的物体首先进行分类处理&#xff0c;然后才能进行后期的识别和重建。 传统的点…

Excel - VLOOKUP函数将指定列替换为字典值

背景&#xff1a;在根据各种复杂的口径导出报表数据时&#xff0c;因为关联的表较多、数据量较大&#xff0c;一行数据往往会存在三个以上的字典数据。 为了保证导出数据的效率&#xff0c;博主选择了导出字典code值后&#xff0c;在Excel中处理匹配字典值。在查询百度之后&am…

硬件知识 cadence16.6 原理图输出为pdf 网络名下划线偏移 (ORCAD)

1. cadence原理图输出为PDF网络名下划线偏移 生这种情况的原因 1. 设计的原理图图纸大小比正常的 A4图纸大。 2. 打印为PDF 的时候&#xff0c;打印机的设置有问题。 2.cadence原理图输出为 PDF网络名下划线偏移的情况 可以看到上图&#xff0c;网络名往上漂移。 3. 解决办法 …

随机森林(Random Forest)详解

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

对原jar包解压后修改原class文件后重新打包为jar

文章目录 背景三种修改方式1.POM中移除原jar中依赖的历史版本2.原jar它不使用pom依赖而是直接放在源码中再编译使用JarEditor 插件对源码进行修改(推荐)使用java-decompiler反编译后修改源码覆盖原class&#xff08;不好用-不推荐直接跳过&#xff09;提醒 参考资料-推荐阅读拓…

PyQt6+pyqtgraph折线图绘制显示

1、实现效果 2、环境&#xff1a; 确认已经安装pyqtgraph的模块&#xff0c;如果没有安装&#xff0c;使用命令安装&#xff1a; pip install pyqtgraph 3、代码实现&#xff1a; 绘制折线函数&#xff1a; import sys import random from PySide6.QtWidgets import QAppl…

Altium Designer学习笔记 1-5 工程创建_元件库创建

基于Altium Designer 23学习版&#xff0c;四层板智能小车PCB 目录 1、工程组成 2、AD工程创建 3、元件库的阻容模型创建 4、IC类的元件库模型创建 5、排针类的元件库模型创建 1、工程组成 主要包括原理图库----原理图----PCB库----PCB 2、AD工程创建 新建工程项目 …

Video Duplicate Finder 快速识别并去除重复的视频和图像!

文章目录 下载 后续升级 Video Duplicate Finder&#xff08;视频重复查找器&#xff09;是一款开源的跨平台视频&#xff08;以及图像&#xff09;去重软件&#xff0c;通过对比文件内容和特征&#xff0c;快速识别出重复的视频和图像文件&#xff0c;即使是被压缩裁剪过、…