css呼吸效果实现

news/2024/10/25 9:33:38/

实现一个图片有规律的大小变化,呈现呼吸效果,怎么用CSS实现这个呼吸效果呢

一.实现

CSS实现动态效果可以使用动画( animation)来属性实现,放大缩小效果可以用transform: scale来实现,在这基础上有了动画,就可以设置一个在几秒内的呼吸效果了,然后设置播放次数为infinite(无限),就可以的到想要的效果了.animation 属性是一个简写属性,它有如下几个动画属性

1.animation属性 

animation-name:指定要绑定到选择器keyframe的关键帧的名称(eg:testAnimation)
animation-duration:动画指定需要多少秒或毫秒完成(eg:2s)
animation-timing-function:设置动画将如何完成一个周期(动画的速度曲线)   ,取值如下:

linear动画从头到尾的速度是相同的。
ease默认,动画以低速开始,然后加快,在结束前变慢
ease-in动画以低速开始
ease-out动画以低速结束
ease-in-out动画以低速开始和结束
steps(int,start|end)

指定了时间函数中的间隔数量(步长)。有两个参数,第一个参数指定函数的间隔数,该参数是一个正整数(大于 0)。 第二个参数是可选的,表示动画是从时间段的开头连续还是末尾连续。含义分别如下:

  • start:表示直接开始
  • end:默认值,表示戛然而止
cubic-bezier(n,n,n,n)在 cubic-bezier 函数中自己的值。可能的值是从 0 到 1 的数值

animation-delay:设置动画在启动前的延迟间隔(eg:2s)
animation-iteration-count:定义动画的播放次数

n一个数字,定义应该播放多少次动画
infinite指定动画应该播放无限次(永远)

animation-direction:指定是否应该轮流反向播放动画(先执行一遍动画,然后再反向执行一遍动画)

2.语法  

animation: name duration timing-function delay iteration-count direction;

二.案例演示

1.CSS代码

	.test{width: 200px;height: 200px;background-image:url("../src/assets/test.png");background-repeat: no-repeat;background-size: contain;//可以直接使用animation设置animation: testAnimation 2s ease-in-out infinite;//也可以单独使用对应的属性设置animation-name: testAnimation;animation-duration: 3s;animation-timing-function: ease-in-out;animation-iteration-count: infinite;}@keyframes testAnimation {0%{transform: scale(0.88);}50%{transform: scale(1);}100%{transform: scale(0.88);}}

2.效果展示

好了,一个简单的呼吸效果就做好了


http://www.ppmy.cn/news/1207814.html

相关文章

Microsoft SDKs 有文件重定义导致编译失败的处理

一个32位的mfc项目,之前采用vs2019编译,现在换了电脑(系统是win10),采用vs2022编译时,提示如下错误: 1>------ 已启动生成: 项目: aAnsys, 配置: Debug Win32 ------ 1>cl : 命令行 warning D9035: “Gm”选项…

强化IP地址管理措施:确保网络安全与高效性

IP地址管理是网络安全和性能管理的关键组成部分。有效的IP地址管理可以帮助企业确保网络的可用性、安全性和高效性。本文将介绍一些强化IP地址管理的关键措施,以帮助企业提高其网络的安全性和效率。 1. IP地址规划 良好的IP地址规划是强化IP地址管理的基础。它涉及…

讲解机器学习中的 K-均值聚类算法及其优缺点。

K-均值聚类算法是一种无监督学习算法,常用于对数据进行聚类分析。其主要步骤如下: 首先随机选择K个中心点(质心)作为初始聚类中心。 对于每一个样本,计算其与每一个中心点的距离,将其归到距离最近的中心点…

scitb包1.5版本发布—增加了统计值的结果和自动判断数据是否正态分布的功能

目前,本人写的scitb包1.5版本已经正式在R语言官方CRAN上线,scitb包是一个为生成专业化统计表格而生的R包。目前只能绘制基线表一。 可以使用以下代码安装 install.packages("scitb")安装过旧版本的从新安装一次就可以升级了 scitb包1.5版本修…

Note1: 算法的时间复杂度和空间复杂度

目录 ---前言 1.算法效率 1.1 算法的复杂度 2.时间复杂度 2.1 时间复杂度的概念 2.2 大O的渐进表示法 2.3常见时间复杂度计算举例 2.3.1 示例1 2.3.2 示例2 2.3.3 示例3 2.3.4 示例4 2.3.5 示例5 2.3.6 示例6 2.3.7 示例7 2.3.8 示例8 3.空间复杂度 3.1 示例1 …

TypeError: Cannot read properties of null (reading ‘level‘)

一、分析问题 1、一个下拉框组件的更新由另一个下拉框组件控制被动更新列表,子级下拉框的值是由父级下拉框的值调用接口获取,每次父级下拉框值的改变都会改变子级下拉框的数据源也就是会改变子级下拉框的options,切换后之前的父级节点找不到…

IP-guard WebServer 远程命令执行漏洞

IP-guard WebServer 远程命令执行漏洞 免责声明漏洞描述漏洞影响漏洞危害网络测绘Fofa: app"ip-guard" 漏洞复现1. 构造poc2. 访问文件3. 执行命令 免责声明 仅用于技术交流,目的是向相关安全人员展示漏洞利用方式,以便更好地提高网络安全意识和技术水平。 任何人不…

在IDEA中配置Web开发环境

一、idea配置Web开发环境 第一步:下载并安装Tomcat服务器(建议放根目录,完整路径中不要出现中文) 第二步:打开IDEA,新建java项目 第三步:为项目添加Web应用 在项目上右键➡️选择“Add Framew…