HTML动画

news2024/11/15 14:08:51

前言:

 1、 什么是css动画:使用css技术来控制页面元素css属性的变化

 2、css动画优势:不需要用js也能写,比较流畅,由浏览器去执行动画,减少代码量,性能比较高

 3、一般兼容到ie10以上浏览器(一般没太大问题)

过渡

过渡的理解

过渡(transition)[træn'siʒən]

-通过过渡可以指定一个属性发生变化时的切换方式,平滑的过渡

-需要在某种条件下触发,例如hover、active、focus情况下

-一次性的效果,不能循环,只能做简单的动画

-只有两帧,设置动画初始值和结束值

-IE10开始兼容,移动端兼容良好

过渡的4个属性

序号

属性

意义

备注

1

transition-property

               ['prɔpəti]

哪些属性要过渡(选填)

  1.  没有属性获得过渡效果  
  1.     所有属性都参与过渡   默认值
  1.   自定义应用过渡效果,一个或多个,用逗号隔开

注意:

    1、所有数值类型的属性,都可以参与过渡,

比如width、height、left、top、border-radius、opacity,颜色等

    2、从一个有效数值向另一个有效数值进行过渡

2

transition-duration

 [djuə'reiʃən]

指定过渡效果的持续时间(必填)

时间的单位:s和ms   1s=1000ms

3

transition-timing-function

过渡变化曲线(缓动效果)(选填)

 *ease  [i:z] 默认值,慢速开始,先加速,然后再减速

  *linear 匀速运动

  ease-in  先慢后快  加速运动

  ease-out 先快后慢  减速运动

  ease-in-out  以慢速开始和结束的过渡效果

  *steps()分布执行过渡效果

  cubic-bezier(n,n,n,n)立方贝塞尔曲线函数,值是0-1之间的数值

4

transition-delay

过渡效果的延迟,等待一段时间后执行过渡(选填)

时间的单位:s和ms   1s=1000ms   默认是0

5

transition

同时设置过渡相关的所有属性(选填,过渡时间是必写)

 只有一个要求,如果要写延迟,

      则两个时间中,第一个写过渡时间,第二个写延迟时间

空格隔开即可

自定义动画

动画的理解

动画和过渡类似,两者的区别

  1. 过渡必须有触发条件,例如hover,acitve时,动画可以自动触发动画
  2. 过渡只有开始和结束帧,动画可以设置复杂过程
  3. 过渡只能执行一次,动画可以自定义执行次数

第一步:先要设置一个关键帧,关键帧设置了动画每一个步骤

 制定关键帧用的是@keyframes属性,指定关键帧主要有两种方法:

方法一:

@keyframes 关键帧名称{

from{初始状态属性}

to{结束状态属性}}

方法二:

@keyframes  关键帧名称{

0%{初始状态属性}

50%(中间还可以再添加关键帧)

100%{结束状态属性

}

注意:

1、帧的顺序可以更改,不关顺序问题。如果初始帧不写,默认是原始设置,如果结束帧不写, 默认也是原始设置

2、可以同时设置关键帧,用逗号(,)隔开就行

 @keyframes text {

        /* from表示动画开始位置  也可以使用0%*/

        from {

          margin-left: 0;

        }

        /* to动画的结束位置 也可以使用100%*/

        to {

          margin-left: 500px;

        }

第二步  调用关键帧

动画属性

序号

属性

意义

备注

1

animation-name 

绑定到选择器的关键帧的名称,告诉系统需要执行哪个动画(必填)

设置动画的名字,和@keyframs相对应,可以设置多个动画,

   逗号隔开,应用多个动画

2

animation-duration

动画的完成时间,告诉系统动画持续的时长(必填)

时间单位:s   ms

3

animation-timing-function

设置动画如何完成一个周期,告诉系统动画执行的速度(与过度动画类型)

 *ease  [i:z] 默认值,慢速开始,先加速,然后再减速

  *linear 匀速运动

  ease-in  先慢后快  加速运动

  ease-out 先快后慢  减速运动

  ease-in-out  以慢速开始和结束的过渡效果

  *steps()分布执行过渡效果

  cubic-bezier(n,n,n,n)立方贝塞尔曲线函数,值是0-1之间的数值

4

 animation-delay

动画在启动前的延迟间隔

默认0s

5

 animation-iteration-count 

[,itə'reiʃən]

动画的播放次数,告诉系统动画需要执行几次

 n 定义动画播放n次               

infinite无限次往返执行

6

animation-direction

指定是否应给轮流反向播放动画

  normal  默认值: 从from向to运行,每次都是这样

  reverse  从to到from运行,每次都是这样

 * alternate  从from向to运行,重复执行动画时反向执行

   alternate-reverse  从to向from运行,重复执行动画时反向执行

7

animation-fill-mode

规定当动画不播放时(完成时,延时未开始播放时),应用到的元素样式

 none默认值 动画执行完毕 元素回到原来的位置

 * forwards 动画执行完毕,会停止在动画结束的位置

 backwards 动画延时等待时,元素就会处于开始位置

 both 结合了forwards和backwards的特点

8

animation-play-state

告诉系统当前动画是否需要暂停

running 默认值  动画执行

paused  动画暂停

9

animation

简写,可以写以上任意属性的可选值

animation:关键帧的名称  动画持续的时间  运动状态(linear(匀速))  动画延迟的时间  动画的循环次数  动画的运动方式(设置正向或者反向)

变形2D

变形的理解

变形属性transform:translate() scale() rotate() skew();

(只折腾自己)

transform里,不然下面再写一个,就会覆盖上面  

位移—translate()

缩放—scale()

旋转—rotate()

倾斜—skew()

位移  transform: translate();

translate(参数1,参数2)

参数值1:是指在x轴上移动的距离,正值,元素向右移动,负值向左移动,

参数2:是指在y轴上移动的距离,正值向下,负值向上,参数2默认为0

translateX()沿着x轴方向平移

                      translateY()沿着y轴方向平移

                      translateZ()沿着z轴方向平移   结合视距起作用.不能是百分比数值(3d变化)

      注意:

  1.    1、平移元素,可以是数字,可以是百分比,百分比是相对于自身计算
  2.     2、位移的参考原点是元素的原来所处的位置
  3.     3、如果是通过active进行位移,执行完毕后会还原     
  4.     4、 不会影响别的元素
  5.     5、对于行内元素是没有效果的
  //垂直水平居中的效果

  position: absolute;

  left: 50%;

  top: 50%;

  transform: translate(-50%, -50%);

  /* transform: translateX(-50%) translateY(-50%); */

 旋转transform: rotate();

deg,比如rotate(45deg)

反之如果这个值为负值,元素对原点中心进行逆时针旋转。

x轴y轴z轴进行设置:这里的X/Y/Z也是是需要大写的。

rotateX() ,指元素围绕其 X 轴以设定的度数进行旋转

rotateY() ,元素围绕其 Y 轴以设定的度数进行旋转

rotateZ() ,    元素围绕其 Z 轴以设定的度数进行旋转

缩放  transform:scale();

这里的参数没有单位,1以下的任何值,使一个元素缩小,0则是消失;而任何大于1的值,会让元素变得更大。

只有一个值的时候第二个值和第一个值是相等的;

两个值的时候,属性值1是指在x轴上缩放元素,属性值2是指在y轴上缩放元素。x轴y轴进行设置:同样这里的X/Y/Z也是是需要大写的。

 transform:scaleX();元素只在x轴上缩放元素

 transform:scaleY();元素只在y轴上缩放元素

 倾斜  transform:skew()

skew()是指通过设定的角度以其中心位置围绕着X轴和Y轴按照一定的角度倾斜显示。

x轴的倾斜x角度,y轴默认为0;

x轴的倾斜角度,第二个参数表示y轴的倾斜角度。

deg

x值:为正则向左变形,为负则向右变形

y值:为正则向上变形,为负则向下变形

以上是以左上角为参照向左向右,向上,向下变形

x轴y轴进行设置:这里的X/Y也是是需要大写的。

transform:skewX() ;

transform:skewY();

 变形原点  transform-origin

 transform-origin 改变原点的位置

transform-origin属性,该属性只有在设置了transform属性的时候会起作用也有两个属性值:

transform-origin:(水平方向 垂直方向),默认值transform-origin:(center  center)

值可以为方向值(left、center、top、right、bottom等),也可以是以px、%为单位的数值

变形3D

父元素样式:

3D变化需要父元素设置样式才能保留3d的变化效果

3d变化:transform-style:preserve-3d; 默认值flat

(景深):perspective  [pə'spektiv] 设置当前网页的视距为800px,人眼距离网页的距离,一般不小于600px

  html{perspective: 800px; },

父元素上,例如:perspective:800-1200px;一般为900px-1000px

 位移 :translate3d  translateX  translateY  translateZ

translate3d(x,y,z):必须传递三个参数

translateX(x)translateY(y)translateZ(z)参数单位为px

x值:沿着x轴向右,为正;沿着x轴向左,为负

y值:沿着y轴向下,为正;沿着y轴向上,为负

z值:沿着z轴向屏幕外,为正;沿着z轴向屏幕内,为负

旋转:rotate3drotateXrotateYrotateZ

角度) rotateY(角度) rotateZ(角度) 沿着元素中心点穿过的某个轴旋设置的角度deg

rotateX为正则顺时针旋转,为负则为逆时针旋转

rotateY   为正则逆时针旋转,为负则顺时针旋转

rotateZ 为正则顺时针旋转,为负则为逆时针旋转

  • transform-origin:left来设置,比如绕着元素的左边框旋转
  1. (x,y,z,deg):沿着自定义轴旋转deg为角度()
  1. 属性定义当元素旋转到背面向屏幕时,是否可见

visible 背面可见

hidden背面不可见

缩放:scale3d   scaleXscaleYscaleZ

scale3d(num,num,num):必须要传三个参数

scaleX(x)  scaleY(y) scaleZ(z) ,分别代表x和y轴方向缩放相应的倍数

参数为数字,无单位

比较麻烦,感兴趣的自己研究,了解即可

动画库

序号

网址

线上css

1

href="https://animate.style/#documentation" https://animate.style/#documentation

  <link   rel="stylesheet"   href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css"/>

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

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

相关文章

计算机视觉和机器人技术中的下一个标记预测与视频扩散相结合

一种新方法可以训练神经网络对损坏的数据进行分类&#xff0c;同时预测下一步操作。 它可以为机器人制定灵活的计划&#xff0c;生成高质量的视频&#xff0c;并帮助人工智能代理导航数字环境。 Diffusion Forcing 方法可以对嘈杂的数据进行分类&#xff0c;并可靠地预测任务的…

云计算研究实训室建设方案

一、引言 随着云计算技术的迅速发展和广泛应用&#xff0c;职业院校面临着培养云计算领域专业人才的迫切需求。本方案旨在构建一个先进的云计算研究实训室&#xff0c;为学生提供一个集理论学习、实践操作、技术研发与创新于一体的综合性学习平台&#xff0c;以促进云计算技术…

React Native 全栈开发实战班 - 核心组件与导航

在 React Native 中&#xff0c;组件是构建用户界面的基本单元。React Native 提供了丰富的内置组件&#xff0c;涵盖了从基础布局到复杂交互的各种需求。本章节将详细介绍常用的内置组件&#xff0c;并重点讲解列表与滚动视图的使用。 1. 常用内置组件详解 React Native 提供…

【2025最新计算机毕业设计】基于SpringBoot+Vue电脑在线装机指南教程网站【源码+文档】

作者简介&#xff1a;✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流。✌ 主要内容&#xff1a;&#x1f31f;Java项目、Python项目、前端项目、PHP、ASP.NET、人工智能…

C语言——段管理

一、复习一下 1.指针的概念&#xff1f; 存储地址的基本数据类型 2.什么是数据类型&#xff1f; 在内存空间上框出一定空间的模子&#xff0c;比如int在内存空间上框出4个字节&#xff0c;int就是基本的数据类型 3.基本数据类型&#xff0c;多个数据类型&#xff0c;多个同…

SpringCloud 微服务消息队列灰度方案 (RocketMQ 4.x)

目录 背景遇到的问题 RocketMQ 基础基础消息模型扩展后的消息模型部署模型相关概念点 方案对比影子Topic的方案Tag的方案UserProperty的方案影子Group的方案灰度分区的方案方案对比 灰度分区方案设计适配只有部分灰度的情况所做的功能扩展消费者&#xff08;无灰度&#xff09;…

YOLOv8改进,YOLOv8结合DynamicConv(动态卷积),CVPR2024,二次创新C2f结构

摘要 大规模视觉预训练显著提高了大规模视觉模型的性能。现有的低 FLOPs 模型无法从大规模预训练中受益。在本文中,作者提出了一种新的设计原则,称为 ParameterNet,旨在通过最小化FLOPs的增加来增加大规模视觉预训练模型中的参数数量。利用 DynamicConv 动态卷积将额外的参…

【C++】在windows下配置一个小巧实用的C/C++调试环境

目录 1.准备环境 2.cgdb 3. gdb-dashboard 4.常用命令 4.1 cgdb命令 4.2 gdb常用命令 虽然在大部分常用的C/C编辑器中&#xff0c;调试功能已经很方便且完善&#xff0c;但是&#xff0c;如果你还需要一个小巧一点&#xff0c;调试信息还完善的调试环境的&#xff0c;可以…

Dolby TrueHD和Dolby Digital Plus (E-AC-3)编码介绍

文章目录 1. Dolby TrueHD特点总结 2. Dolby Digital Plus (E-AC-3)特点总结 Dolby TrueHD 与 Dolby Digital Plus (E-AC-3) 的对比 Dolby TrueHD和Dolby Digital Plus (E-AC-3) 是两种高级的杜比音频编码格式&#xff0c;常用于蓝光影碟、流媒体、影院等高品质音频传输场景。它…

k8s上部署redis高可用集群

介绍&#xff1a; Redis Cluster通过分片&#xff08;sharding&#xff09;来实现数据的分布式存储&#xff0c;每个master节点都负责一部分数据槽&#xff08;slot&#xff09;。 当一个master节点出现故障时&#xff0c;Redis Cluster能够自动将故障节点的数据槽转移到其他健…

计算机网络——路由选择算法

路由算法 路由的计算都是以子网为单位计算的——找到从原子网到目标子网的路径 链路状态算法

4.3 Java JNI 机制

1 绪论 JNI 是一个原生编程接口。它允许在 Java 虚拟机&#xff08;JVM&#xff09;内运行的 Java 代码与用其它编程语言&#xff08;如 C、C 和汇编&#xff09;编写的应用程序和库进行互操作。 JNI 最重要的好处是它对底层 JVM 的实现没有限制。因此&#xff0c;JVM 供应商可…

influxDB 时序数据库安装 flux语法 restful接口 nodjsAPI

安装 Install InfluxDB | InfluxDB OSS v2 Documentation Debian和Ubuntu用户可以用apt-get包管理来安装最新版本的InfluxDB。 对于Ubuntu用户&#xff0c;可以用下面的命令添加InfluxDB的仓库&#xff0c;添加之后即可apt-get 安装influxdb2 wget -q https://repos.influx…

7z 解压器手机版与解压专家:安卓解压工具对决

7z 解压器手机版和解压专家都是在安卓设备上广受欢迎的解压软件。7z 解压器手机版由深圳乡里云网络科技有限公司开发&#xff0c;大小为 32.8M&#xff0c;支持多种常见的压缩文件格式&#xff0c;如.zip、.rar、.7z 等。 它对安卓操作系统的特性和用户习惯进行了优化&#xf…

亮数据——助力全球数据抓取的高效代理平台

目录 实际案例&#xff1a;利用代理服务抓取企业信息完整代码运行结果 亮数据的技术优势与应用场景产品更新&#xff1a;简化注册流程与智能助手升级立即注册&#xff0c;开启您的数据抓取之旅&#xff01; 在如今的大数据时代&#xff0c;企业决策越来越依赖于数据分析&#x…

设计模式之责任链模式(Chain Of Responsibility)

一、责任链模式介绍 1、责任链模式介绍 职责链模式(chain of responsibility pattern) 定义: 避免将一个请求的发送者与接收者耦合在 一起&#xff0c;让多个对象都有机会处理请求。将接收请求的对象连接成一条链&#xff0c;并且沿着这条链 传递请求&#xff0c;直到有一个对…

【月之暗面kimi-注册/登录安全分析报告】

前言 由于网站注册入口容易被机器执行自动化程序攻击&#xff0c;存在如下风险&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露&#xff0c;不符合国家等级保护的要求。短信盗刷带来的拒绝服务风险 &#xff0c;造成用户无法登陆、注册&#xff0c;大量收到垃圾短信的…

低代码牵手 AI 接口:开启智能化开发新征程

一、低代码与 AI 接口的结合趋势 低代码开发平台近年来在软件开发领域迅速崛起。随着企业数字化转型的需求不断增长&#xff0c;低代码开发平台以其快速构建应用程序的优势&#xff0c;满足了企业对高效开发的需求。例如&#xff0c;启效云低代码平台通过范式化和高颗粒度的可配…

安培环路定理

回忆 静电场中的回路定理&#xff1a;→静电场是保守场 安培环路定理 1、圆形回路包围无限长载流直导线 &#xff08;1&#xff09;回路逆时针 &#xff08;2&#xff09;回路顺时针 规定&#xff1a; 回路正向由右手螺旋定则判断&#xff08;根据回路绕行方向&#xff0c;…

IDEA 2024.3正式版发布,速览新功能!

0 前言 IntelliJ IDEA 2024.3 引入了一系列可以提升您的开发体验的强大新功能。 IDE 现在提供代码逻辑结构的表示&#xff0c;简化了 Kubernetes 应用程序的调试体验&#xff0c;引入了集群范围的 Kubernetes 日志访问。 1 关键亮点 1.1 Structure工具窗口中的 Logical代码结…