CSS3动画属性 animation详解(看完就会)

news2024/10/6 16:31:14

CSS3动画属性 animation 文章包含个人理解错误请指出

 

  往期文章

【css高级】变量详解

轮播图swiper框架的基本使用
【Transform3D】转换详解(看完就会)

【css动画】移动的小车

【CSS3】 float浮动与position定位常见问题(个人笔记)

如何完成响应式布局,有几种方法?看这个就够了

详解 CSS3中最好用的布局方式——flex弹性布局(看完就会)

[前端CSS高频面试题]如何画0.5px的边框线(详解)
CSS3基础属性大全
CSS3动画属性 animation详解(看完就会)
CSS3 transform 2D转换之移动 旋转 缩放(详细讲解看完就会)
CSS3 Z—Index 详解
CSS3 positon定位详解(通俗易懂)


目录

keyframes

动画相关的值

 animation-name animation-duration

animation-timing-function animation-delay

 animation-iteration-count   animation-play-state

animation-direction  animation-fill-mode 

animation


keyframes

用 keyframes定义动画,写上动画要执行的内容, (类似类选择器)

  @keyframes a {
            0% {
                width: 300px;
            }

            100% {
                width: 600px;
            }
        }

这就是定义了一个动画变量名,从0%到100%也就是从开始到结束,也可以用from,to来表示,

  @keyframes a {
            from {
                width: 300px;
            }

            to {
                width: 600px;
            }
        }

里面写属性变化的值,不止可以分两个段也可以进行多段分割

  @keyframes a {
            0% {
                width: 300px;
            }

            50% {
                width: 800px;
            }

            100% {
                width: 300px;
            }
        }

,用百分数进行分割。

动画相关的值


@keyframes 规定动画
animation-name 规定 @keyframes 动画的名称(必须的)
animation-duration 规定动画完成一个周期所花费的秒或毫秒,默认是 0(必须的)
animation-timingfunction  规定动画的速度曲线,默认是“ease”
animation-delay 规定动画何时开始,默认是 0
animation-iteration-count 规定动画被播放的次数,默认是 1,还有 infinite
animation-direction 规定动画是否在下一周期逆向播放,默认是 "normal", alternate 逆播放
animation-play-state 规定动画是否正在运行或暂停。默认是 "running", 还有 "paused"

animation 所有动画属性的简写属性,除了animation-play-state 属性

 animation-name animation-duration

 <style>
        @keyframes a {
            0% {
                width: 300px;
            }

            50% {
                width: 800px;
            }

            100% {
                width: 300px;
            }
        }

        div {
            animation-name: a;
            animation-duration: 2s;
        }
    </style>
    <script>
    </script>
</head>

<body>
    <div style='background-Color:red;width: 300px;height:300px ;'></div>
</body>

 刷新之后就自动触发动画,执行的动画变量名是a,两秒内完成动画,也就是从0%到100%两秒内完成。

animation-timing-function animation-delay

linear

动画从头到尾的速度是相同的。

ease

默认。动画以低速开始,然后加快,在结束前变慢。

ease-in

动画以低速开始。

ease-out

动画以低速结束。

ease-in-out

动画以低速开始和结束。

cubic-bezier(n,n,n,n)

在 cubic-bezier 函数中自己的值。可能的值是从 0 到 1 的数值

@keyframes a {
            0% {
                width: 300px;
            }

            50% {
                width: 800px;
            }

            100% {
                width: 300px;
            }
        }

        div {
            animation-name: a;
            animation-duration: 5s;
            animation-timing-function: ease-in-out;
            animation-delay: 2s;
        }

 

animation-timing-function 动画开始和结束慢速

animation-delay 动画延迟两秒开始。

 animation-iteration-count   animation-play-state

  @keyframes a {
            0% {
                width: 300px;
            }

            50% {
                width: 800px;
            }

            100% {
                width: 300px;
            }
        }

        div {
            animation-name: a;
            animation-duration: 5s;
            animation-timing-function: ease-in-out;
            animation-delay: 2s;
            animation-iteration-count: infinite;
        }

        div:hover {
            animation-play-state: paused;
        }

 

animation-iteration-count  循环次数,infinite重复循环

animation-play-state paused 停止动画  当鼠标移入动画停止

animation-direction  animation-fill-mode 

animation-direction

normal默认值。动画按正常播放。
reverse动画反向播放。
alternate动画在奇数次(1、3、5...)正向播放,在偶数次(2、4、6...)反向播放。
alternate-reverse动画在奇数次(1、3、5...)反向播放,在偶数次(2、4、6...)正向播放。
initial设置该属性为它的默认值。请参阅 initial。
inherit从父元素继承该属性。请参阅 inherit。
  @keyframes a {
            0% {
                width: 300px;
            }

            50% {
                width: 500px;
            }

            100% {
                width: 800px;
            }
        }

        div {
            animation-name: a;
            animation-duration: 5s;
            animation-timing-function: ease-in-out;
            animation-delay: 2s;
            animation-iteration-count: infinite;
            /* animation-fill-mode: forwards; */
            animation-direction: alternate;
        }

        div:hover {
            animation-play-state: paused;
        }

animation-iteration-count:infinite  重复循环  animation-direction:alternate 在偶数次反向播放

就形成了  长度 一直来回变化的效果

animation-fill-mode  

 保持 最终状态 forwards 原位置 backwards

  @keyframes a {
            0% {
                width: 300px;
            }

            50% {
                width: 500px;
            }

            100% {
                width: 800px;
            }
        }

        div {
            animation-name: a;
            animation-duration: 5s;
            animation-timing-function: ease-in-out;
            animation-delay: 2s;
            animation-fill-mode: forwards;
        }

        div:hover {
            animation-play-state: paused;
        }

  animation-fill-mode: forwards  宽度到达800后 停止动画 保持在动画执行完毕的状态 不会恢复

animation

直接写出所有的相关动画属性(简写),除了animation-play-state 属性。

animation:动画名称 持续时间 运动曲线 何时开始 播放次数 是否反方向 动画起始或者结束的状态。
 

 @keyframes a {
            0% {
                width: 300px;
            }

            50% {
                width: 500px;
            }

            100% {
                width: 800px;
            }
        }

        div {
            animation: a 5s ease-in-out 2s infinite alternate;
        }

        div:hover {
            animation-play-state: paused;
        }

  

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

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

相关文章

MySQL入门安装(一步一图)

♥️作者&#xff1a;小刘在C站 ♥️个人主页&#xff1a;小刘主页 ♥️每天分享云计算网络运维课堂笔记&#xff0c;努力不一定有收获&#xff0c;但一定会有收获加油&#xff01;一起努力&#xff0c;共赴美好人生&#xff01; ♥️夕阳下&#xff0c;是最美的绽放&#xff0…

三极管工作原理介绍(动画图解)

三极管BJT 各位社区的小伙伴们大家好&#xff0c;相信大家也像我一样&#xff0c;因为上学的时候学过&#xff0c;但是呢&#xff0c;出社会不怎么用&#xff0c;久而久之就忘了&#xff0c;今天来给大家巩固一下&#xff0c;我对三极管的通俗易懂的工作原理介绍&#xff01; 半…

怎样提高报表呈现的性能

报表的性能很重要&#xff0c;是一个总被谈及的问题&#xff0c;跑的慢的报表用户体验恶劣&#xff0c;无法忍受。解决这些慢的性能问题&#xff0c;也成了项目方和工程师头疼的事情。一出状况&#xff0c;就得安排技术好的&#xff0c;能力强的工程师去救火&#xff0c;本来利…

『赠书活动 | 第二期』《元宇宙Ⅱ:图解元技术区块链、元资产与Web3.0、元人与理想国(全三册)》

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; 『赠书活动 &#xff5c; 第二期』 本期书籍&#xff1a;《元宇宙Ⅱ&#xff1a;图解元技术区块链、元资产与Web3.0、元人与理想国》 赠书规则&#xff1a;评论区&…

齐全且实用的MySQL函数使用大全

目录 一、MySQL函数介绍 二、MySQL函数分类 &#xff08;一&#xff09;单行函数 ①字符串函数 ②数学函数 ③日期函数 ④流程控制函数 ⑤系统信息函数 ⑥其他函数 &#xff08;二&#xff09;聚合函数 三、函数使用示例 &#xff08;一&#xff09;字符函数 ①le…

【K8S系列】深入解析etcd

序言 时间永远是旁观者&#xff0c;所有的过程和结果&#xff0c;都需要我们自己去承担。 文章标记颜色说明&#xff1a; 黄色&#xff1a;重要标题红色&#xff1a;用来标记结论绿色&#xff1a;用来标记一级论点蓝色&#xff1a;用来标记二级论点 Kubernetes (k8s) 是一个容器…

WeIdentity智能合约源码分析

WeIdentity智能合约 介绍 本文结合WeIdentity智能合约文档对其源码进行阅读分析。当前&#xff0c;WeIdentity合约层面的工作目标主要包括两部分&#xff1a; WeIdentity DID智能合约&#xff0c;负责链上ID体系建立&#xff0c;具体包括生成DID&#xff08;Distributed IDe…

【C++】vector类详细总结(包括vector二维数组)(持续更新中)

目录 一、vector的初始化&#xff08;9种&#xff09; 二、vector的访问和遍历 2.1 访问&#xff08;3种&#xff09; &#xff08;1&#xff09;使用下标运算符[]访问和修改 &#xff08;2&#xff09;使用迭代器访问 &#xff08;3&#xff09;使用at()函数访问 &#…

Spring Boot配置多数据源的四种方式

1、导读 在日常开发中我们都是以单个数据库进行开发&#xff0c;在小型项目中是完全能够满足需求的。 但是&#xff0c;当我们牵扯到像淘宝、京东这样的大型项目的时候&#xff0c;单个数据库就难以承受用户的CRUD操作。 那么此时&#xff0c;我们就需要使用多个数据源进行读写…

centos上使用yum安装redis

使用yum install -y redis时报错&#xff0c;没有找到安装包 解决办法&#xff1a; 下载fedora的epel仓库&#xff0c;yum添加epel源&#xff1a;执行 yum install epel-release 回车 再次&#xff1a;yum install redis 回车 开启redis服务 service redis star…

C语言设计扫雷(保姆级教学)

目录 引入&#xff1a; 游戏思路与逻辑&#xff1a; 游戏具体实现过程 整个程序的大体逻辑&#xff1a; 游戏的执行逻辑&#xff1a; game.h头文件内容&#xff1a; 具体函数讲解 menu&#xff08;菜单函数&#xff09; Initboard&#xff08;初始化棋盘函数&#xff09…

Ubuntu 22.04安装Cuda11.7和cudnn8.6

这篇文章记录了如何在Ubuntu22.04上安装CUDA11.7和cudnn8.6。按照步骤理应可以安装成功。如果还有问题&#xff0c;可以留言。 安装显卡驱动 打开‘软件和更新。 点击附加驱动安装显卡驱动 如果已经安装显卡驱动&#xff0c;请忽略上面的步骤。 安装gcc 新安装的Ubuntu22…

微软 New Bing AI 申请与使用保姆级教程(免魔法)

本文已收录到 AndroidFamily&#xff0c;技术和职场问题&#xff0c;请关注公众号 [彭旭锐] 提问。 大家好&#xff0c;我是小彭。 最近的 AI 技术实在火爆&#xff0c;从 OpenAI 的 ChatGPT&#xff0c;到微软的 New Bing&#xff0c;再到百度的文心一言&#xff0c;说明 AI …

[408] cache与主存的映射部分概念

涉及:基本理解 (防止误解映射规则cache 与 主存 的 "地址"构成主存块、cache块cache容量、cache的总容量有关计算的一些刁难名词不涉及:cache 与 主存映射规则基本理解:  首先我们需要明确的是我们之后针对的位数都是针对的 地址. 与实际的存储的 (01) 二进制无关. …

C# | 对象池

对象池 文章目录 对象池前言什么是对象池对象池的优点对象池的缺点 实现思路示例代码 结束语 前言 当我们开发一个系统或者应用程序时&#xff0c;我们通常需要创建很多的对象&#xff0c;这些对象可能是线程、内存、数据库连接、文件句柄等等。在某些情况下&#xff0c;我们需…

CM311-1A 卡刷 + 线刷、刷安卓与 Armbian 教程

使用到的工具软件与固件下载地址&#xff1a; https://41ws38-my.sharepoint.com/:f:/g/personal/ddf_41ws38_onmicrosoft_com/EhgM458YouBBshliWJhjcDcBAU-F5Mu6HTIU8PeKJHZnZA?eZnJZa6 不能下载&#xff0c;帖子下面评论。 准备工作 设备 / 硬件&#xff1a;CM311-1a YST 电…

C语言格式化输出总结:%d,%c,%s,%f, %lf,%m.nd,%m.nf,%m.ns 以及sprintf函数

凡事发生必将有益于我&#xff0c;高手&#xff0c;从来都不仅仅是具备某种思维的人&#xff0c;而是那些具备良好学习习惯的人&#xff0c;成为高手&#xff0c;无他&#xff0c;手熟尔&#xff01; -----来自一位IT领域的大神 在最近的学习之中&#xff0c;对于格式化输出这个…

微信小程序图片裁剪功能的实现

文章目录 图片上传与处理图片尺寸适配图片显示与裁剪框裁剪框的拖动与缩放增加canvas并裁剪图片保存图片到相册总结 在之前的博文中&#xff0c;已经介绍了如何使用在前端开发中&#xff0c;实现较方便自由的图片裁剪功能&#xff0c;可见博文&#xff1a; 如何一步步实现图片…

直达CSDN——创作者创收

catalogue &#x1f31f; 写在前面&#x1f31f; 关于创收线下聚会&#x1f31f; 创作是最简单的变现模式&#x1f31f; 知识星球是否适合你&#x1f31f; 独自开-让开发变得简单&#x1f31f; 税/睡后收入&#x1f31f; KOL越具价值&#x1f31f; 期待创收组织的建立&#x1f…

MySQL数据库和Redis缓存一致性的更新策略

目录 专栏导读一、更新策略二、读写缓存1、同步直写策略2、异步缓写策略三、双检加锁策略四、数据库和缓存一致性的更新策略1、先更新数据库,再更新Redis2、先更新缓存,再更新数据库3、先删除缓存,再更新数据库延时双删4、先更新数据库,再删除缓存5、总结五、MySQL主从复制…