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.xdnf.cn/news/19152.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

如何制作代购系统的客服支持模块

在代购系统中&#xff0c;客服支持模块是维护用户满意度和忠诚度的关键环节。一个有效的客服支持模块不仅可以解决用户的疑问和问题&#xff0c;还可以收集用户反馈&#xff0c;用于改进服务和产品。本文将详细介绍如何制作一个代购系统的客服支持模块&#xff0c;包括前端界面…

【unity小技巧】一些unity3D灯光的使用与渲染及性能优化方案

文章目录 天空盒反射配置太阳耀斑眩光烘培光照烘培光照时弹出错误&#xff0c;记得勾选模型下面的选择阴影项目配置光源模型模型shader的问题 全局光照混合光照模式混合照明模式减性照明模式Shadowmask照明模式间接烘焙照明模式 环境光遮罩灯光探针反射探针技术关闭反射探针可以…

Spring Boot汽车资讯:科技与汽车的对话

5系统详细实现 5.1 管理员模块的实现 5.1.1 用户信息管理 汽车资讯网站的系统管理员可以管理用户&#xff0c;可以对用户信息修改删除审核以及查询操作。具体界面的展示如图5.1所示。 图5.1 用户信息管理界面 5.1.2 汽车品牌管理 系统管理员可以汽车品牌信息进行添加&#xf…

go 学习网站,go例子 go demo go学习视频

1. 代码例子&#xff1a; Go by Example 2. b站 视频&#xff1a; 尚硅谷视频&#xff1a; 004_尚硅谷_程序的基本概念_哔哩哔哩_bilibili 3. go技术文档&#xff1a; fmt Go语言中文文档

记录下,用油猴Tampermonkey监听所有请求,绕过seesion

油猴Tampermonkey监听所有请求&#xff0c;绕过seesion 前因后果脚本编写 前因后果 原因是要白嫖一个网站的接口&#xff0c;这个接口的页面入口被隐藏掉了&#xff0c;不能通过页面调用&#xff0c;幸好之前有想过逆向破解通过账号密码模拟登录后拿到token&#xff0c;请求该…

网络安全:我们的安全防线

在数字化时代&#xff0c;网络安全已成为国家安全、经济发展和社会稳定的重要组成部分。网络安全不仅仅是技术问题&#xff0c;更是一个涉及政治、经济、文化、社会等多个层面的综合性问题。从宏观到微观&#xff0c;网络安全的重要性不言而喻。 宏观层面&#xff1a;国家安全与…

多账号登录管理器(淘宝、京东、拼多多等)

目录 下载安装与运行 解决什么问题 功能说明 目前支持的平台 功能演示 登录后能保持多久 下载安装与运行 下载、安装与运行 语雀 解决什么问题 多个账号的快捷登录与切换 功能说明 支持多个电商平台支持多个账号的登录保持支持快捷切换支持导入导出支持批量删除支持…

浅谈网络 | 二层到三层

目录 物理层到MAC层第一层&#xff08;物理层&#xff09;第二层&#xff08;数据链路层&#xff09;局域网 交换机与VLAN生成树协议VLAN ICMP与pingICMP 协议的格式 网关静态路由是什么&#xff1f; 路由协议如何配置策略路由&#xff1f;动态路由算法动态路由协议 物理层到MA…

c++ 后端

基础知识 1. 指针、引用2. 数组3. 缺省参数4. 函数重载5. 内联函数6. 宏7. auto8. const9. 类和对象10. 类的6个默认成员函数11. 初始化列表12. this指针13. C/C的区别14. C 三大特性15. 结构体内存对齐规则16. explicit17. static18. 友元类、友元函数19. 内部类20. 内存管理&…

汽车资讯新趋势:Spring Boot技术解读

5系统详细实现 5.1 管理员模块的实现 5.1.1 用户信息管理 汽车资讯网站的系统管理员可以管理用户&#xff0c;可以对用户信息修改删除审核以及查询操作。具体界面的展示如图5.1所示。 图5.1 用户信息管理界面 5.1.2 汽车品牌管理 系统管理员可以汽车品牌信息进行添加&#xf…

【C++】vector

一、vector的介绍及使用 1.1 vector的介绍 vector的底层与string相似都是顺序表形式管理数组&#xff0c;本质上来说string就可以归入到vector里面&#xff0c;但是在实际使用中&#xff0c;字符有很多自身独有的接口设计需要&#xff0c;因此string被单独拿出来设计。在前面s…

uniapp Uview上传图片组件Upload会自动刷新

背景 最近在做跑团小程序&#xff0c;马上接近尾声了&#xff0c;今天新增一个团长增加活动页面&#xff1a; 然后一切准备就绪&#xff0c;发现了一个问题&#xff0c;当选择上传图片后&#xff0c;页面会自动刷新&#xff0c;把之前填写的信息全部重置了。奇怪了&#xff0c…

软件测试之缺陷管理

一、软件缺陷的基本概念 1、软件缺陷的基本概念主要分为&#xff1a;缺陷、故障、失效这三种。 &#xff08;1&#xff09;缺陷&#xff08;defect&#xff09;&#xff1a;存在于软件之中的偏差&#xff0c;可被激活&#xff0c;以静态的形式存在于软件内部&#xff0c;相当…

数字资产与大健康领域的知识宝藏:高效知识库搭建策略

在数字化时代&#xff0c;大健康领域的企业积累了丰富的数字资产&#xff0c;这些资产如同一座待挖掘的金矿&#xff0c;蕴含着巨大的价值。高效搭建知识库&#xff0c;能够将这些数字资产转化为企业竞争力。 数字资产与大健康领域知识宝藏 数字资产在大健康领域包括患者数据…

使用WebRTC实现点对点实时音视频通信的技术详解

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 使用WebRTC实现点对点实时音视频通信的技术详解 使用WebRTC实现点对点实时音视频通信的技术详解 使用WebRTC实现点对点实时音视频…

Leetcode打卡:最少翻转次数使二进制矩阵回文II

执行结果&#xff1a;通过 题目&#xff1a;3240 最少翻转次数使二进制矩阵回文II 给你一个 m x n 的二进制矩阵 grid 。 如果矩阵中一行或者一列从前往后与从后往前读是一样的&#xff0c;那么我们称这一行或者这一列是 回文 的。 你可以将 grid 中任意格子的值 翻转 &…

VTK知识学习(9)-空间变换

1、前言 在三维空间里定义的三维模型&#xff0c;最后显示时都是投影到二维平面&#xff0c;比如在屏幕上显示。 三维到二维的投影包括透视投影&#xff08;Perspective Projection&#xff09;和正交投影&#xff08;Orthogonale Projection&#xff09;。正交投影也叫平行投…

英伟达 Isaac Sim仿真平台安装体验

硬件配置、系统 RTX 3080RAM: 32Gi7-12700Fubuntu20.04 使用Omniverse launcher安装加载isaac sim 这种方法我并没有成功&#xff0c;因为启动的时候报错Failed to create any GPU devices, including an attempt with compatibility mode. 。后面我选择使用 isaac sim dock…

笔记02----重新思考轻量化视觉Transformer中的局部感知CloFormer(即插即用)

1. 基本信息 论文标题: 《Rethinking Local Perception in Lightweight Vision Transformer》中文标题: 《重新思考轻量化视觉Transformer中的局部感知》作者单位: 清华大学发表时间: 2023论文地址: https://arxiv.org/abs/2303.17803代码地址: https://github.com/qhfan/CloF…

LVGL-从入门到熟练使用

LVGL简介 LVGL&#xff08; Light and Versatile Graphics Library &#xff09;是一个轻量、多功能的开源图形库。 1、丰富且强大的模块化图形组件&#xff1a;按钮 、图表 、列表、滑动条、图片等 2、高级的图形引擎&#xff1a;动画、抗锯齿、透明度、平滑滚动、图层混合等…