HTML动画

前言:

 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"/>

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《深度学习》VGG网络

文章目录 1.VGG的网络架构2.案例&#xff1a;手写数字识别 学习目标&#xff1a; 知道VGG网络结构的特点能够利用VGG网络完成图像分类 2014年&#xff0c;⽜津⼤学计算机视觉组&#xff08;Visual Geometry Group&#xff09;和GoogleDeepMind公司的研究员⼀起研发出了新的深度…

探索 Python HTTP 的瑞士军刀:Requests 库

文章目录 探索 Python HTTP 的瑞士军刀&#xff1a;Requests 库第一部分&#xff1a;背景介绍第二部分&#xff1a;Requests 库是什么&#xff1f;第三部分&#xff1a;如何安装 Requests 库&#xff1f;第四部分&#xff1a;Requests 库的基本函数使用方法第五部分&#xff1a…

无桥Boost-PFC 双闭环控制MATLAB仿真

一、无桥Boost-PFC原理概述 无桥 Boost-PFC&#xff08;Power Factor Correction&#xff0c;功率因数校正&#xff09;的工作原理是通过特定的电路结构和控制策略&#xff0c;对输入电流进行校正&#xff0c;使其与输入电压同相位&#xff0c;从而提高电路的功率因数&#xf…

数据结构Python版

2.3.3 双链表 双链表和链表一样&#xff0c;只不过每个节点有两个链接——一个指向后一个节点&#xff0c;一个指向前一个节点。此外&#xff0c;除了第一个节点&#xff0c;双链表还需要记录最后一个节点。 每个结点为DLinkNode类对象&#xff0c;包括存储元素的列表data、…

力扣-Hot100-二叉树其一【算法学习day.32】

前言 ###我做这类文档一个重要的目的还是给正在学习的大家提供方向&#xff08;例如想要掌握基础用法&#xff0c;该刷哪些题&#xff1f;&#xff09;我的解析也不会做的非常详细&#xff0c;只会提供思路和一些关键点&#xff0c;力扣上的大佬们的题解质量是非常非常高滴&am…

京东商品详情,Python爬虫的“闪电战”

在这个数字化的时代&#xff0c;我们每天都在和数据打交道&#xff0c;尤其是电商数据。想象一下&#xff0c;你是一名侦探&#xff0c;需要快速获取京东上某个商品的详细信息&#xff0c;但是没有超能力&#xff0c;怎么办&#xff1f;别担心&#xff0c;Python爬虫来帮忙&…

深度学习推荐系统的工程实现

参考自《深度学习推荐系统》——王喆&#xff0c;用于学习和记录。 介绍 之前章节主要从理论和算法层面介绍了推荐系统的关键思想。但算法和模型终究只是“好酒”&#xff0c;还需要用合适的“容器”盛载才能呈现出最好的味道&#xff0c;这里的“容器”指的就是实现推荐系统…

「QT」高阶篇 之 d-指针 的用法

✨博客主页何曾参静谧的博客&#x1f4cc;文章专栏「QT」QT5程序设计&#x1f4da;全部专栏「Win」Windows程序设计「IDE」集成开发环境「UG/NX」BlockUI集合「C/C」C/C程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「UG/NX」NX定制…

ISUP协议视频平台EasyCVR视频设备轨迹回放平台智慧农业视频远程监控管理方案

在当今快速发展的农业领域&#xff0c;智慧农业已成为推动农业现代化、助力乡村全面振兴的新手段和新动能。随着信息技术的持续进步和城市化进程的加快&#xff0c;智慧农业对于监控安全和智能管理的需求日益增长。 视频设备轨迹回放平台EasyCVR作为智慧农业视频远程监控管理方…

计算机视觉空域处理完整版——超详细图文解

空域处理 图像空域处理 a.线性滤波b.非线性滤波c.二值图像处理方法 数学形态学连通成分标记 “点运算”是在不改变图像大小、几何形状以及局部结构的情况下&#xff0c;对像素值进行修改&#xff0c;新图像的像素值只与 原图像同一位置的像素值有关。 灰度级变换(线性变换,非…

Python学习------第八天

函数 函数的传入参数 掌握函数返回值的作用 掌握函数返回值的定义语法 函数的嵌套调用&#xff1a; 函数的局部变量和全局变量 局部变量的作用&#xff1a;在函数体内部&#xff0c;临时保存数据&#xff0c;即当函数调用完成后&#xff0c;则销毁局部变量。 money 5000000 n…

Matlab实现麻雀优化算法优化随机森林算法模型 (SSA-RF)(附源码)

目录 1.内容介绍 2.部分代码 3.实验结果 4.内容获取 1内容介绍 麻雀优化算法&#xff08;Sparrow Search Algorithm, SSA&#xff09;是一种基于自然界中麻雀觅食和躲避天敌行为的新型群智能优化算法。SSA通过模拟麻雀群体中个体之间的信息交流和社会互动来指导搜索过程&…

51c嵌入式~单片机合集2

我自己的原文哦~ https://blog.51cto.com/whaosoft/12362395 一、不同的电平信号的MCU怎么通信&#xff1f; 下面这个“电平转换”电路&#xff0c;理解后令人心情愉快。电路设计其实也可以很有趣。 先说一说这个电路的用途&#xff1a;当两个MCU在不同的工作电压下工作&…

web实验3:虚拟主机基于不同端口、目录、IP、域名访问不同页面

创建配置文件&#xff1a; 创建那几个目录及文件&#xff0c;并且写内容&#xff1a; 为网卡ens160添加一个 IPv4 地址192.168.234.199/24: 再重新激活一下网卡ens160&#xff1a; 关闭防火墙、改宽松模式&#xff1a; 重启服务&#xff1a; 查看nginx端口监听情况&#xff1a;…

AutoHotKey自动热键AHK-正则表达式

在这个软件的操作中,基本都是需要即时的解决一些问题,所以对字符串的操作是比较多的,所以正则的使用还是比较重要的,接下来我们用一个例子来了解正则表达式的使用 str "7654321" RegExMatch(str, "65(43)(21)", SubPat)str ( str %str% SubPat %SubPa…

越南很火的slots游戏投放Google谷歌广告策略

越南很火的slots游戏投放Google谷歌广告策略 越南的slot游戏市场正在借助Google广告代投策略推动增长。随着智能手机的普及和互联网的普及&#xff0c;越南的游戏市场迅速增长&#xff0c;吸引了越来越多的投资者和开发者进入该市场。 在这个竞争激烈的市场中&#xff0c;广告…

Mac中安装OhMyZsh

Mac中安装OhMyZsh 文章目录 Mac中安装OhMyZsh一、Homebrew二、OhMyZsh1、Oh-My-Zsh配置1.1&#xff1a;主题配置1.2&#xff1a;插件配置&#xff08;语法高亮和自动提示&#xff09;1、zsh-autosuggestions&#xff08;需下载安装&#xff09;&#xff1a;高亮显示所有支持的命…

flutter插件:录制系统播放的声音

该插件基于flutter包 flutter_screen_recording 和 github库 SystemAudioCaptureAndroid&#xff0c;实现了在安卓手机上录制系统播放声音的功能&#xff0c;也就是说&#xff0c;只要一个安卓应用没有设置不允许其它应用录制声音&#xff0c;该插件可以录制该应用播放的声音。…

【论文阅读】WaDec: Decompiling WebAssembly Using Large Language Model

论文阅读笔记:WaDec: Decompiling WebAssembly Using Large Language Model 1. 来源出处 论文标题: WaDec: Decompiling WebAssembly Using Large Language Model作者: Xinyu She, Yanjie Zhao, Haoyu Wang会议: 39th IEEE/ACM International Conference on Automated Softwar…

【安全测试】sqlmap工具(sql注入)学习

前言&#xff1a;sqimap是一个开源的渗透测试工具&#xff0c;它可以自动化检测和利用SQL注入缺陷以及接管数据库服务器的过程。它有一个强大的检测引擎&#xff0c;许多适合于终极渗透测试的小众特性和广泛的开关&#xff0c;从数据库指纹、从数据库获 取数据到访问底层文件系…