当前位置: 首页 > news >正文

CSS:让动画流畅生动的缓动函数

在CSS中,可以使用transition属性或者@keyframes关键帧动画来创建动画效果。

使用缓动函数则可以让动画更加流畅和生动。

div {transition: <property> <duration> <timing-function> <delay>;
}div {animation: <keyframes-name> <duration> <timing-function>;
}

以上代码中的 timing-function 就是我们的缓动函数了

常见的缓动函数如下:

1、线性缓动函数

linear (point-list):接受多个关键点作为参数,多个关键点可以实现在不同时间出现不同速率,速率的变化是直接转折的,用法如下

linear(0, 1) // 以固定的速度变化,等同于关键字linear
linear(0, 0.9, 1)  // 50%的时间播放前90%的动画,剩下50%的时间播放完后10%的动画
linear(0, 0.5 20%, 0.8 60%, 1)  // 前20%的时间 播放前50%的动画,中间40%的时间播放中间30%的动画,后面40%的时间播放剩下的20%的动画

关键字:
linear(线性): 元素以固定的速度变化,等价于缓动函数 linear(0, 1)。

2、三次贝塞尔缓动函数

cubic-bezier(x1, y1, x2, y2):贝塞尔曲线缓动函数接受两个点坐标(参数值应在[0, 1]),以及作为起点的坐标(0,0),终点坐标(1,1) 通过控制这四个点的位置,可以创建更复杂的动画过渡效果。

关键字:

ease(慢-快-慢): 这是默认的缓动函数,元素会在开始和结束时较慢移动,而在中间会加速,等价于cubic-bezier(0.25, 0.1, 0.25, 1.0)。

ease-in(慢-快): 元素会开始时较慢,然后逐渐加快,等价于cubic-bezier(0.42, 0.0, 1.0, 1.0)。

ease-out(快-慢): 元素会以较快的速度开始,然后逐渐减速,等价于cubic-bezier(0.0, 0.0, 0.58, 1.0)。

ease-in-out(慢-快-慢): 动画元素会慢慢开始,加速移动,然后再减速结束,等价于cubic-bezier(0.42, 0.0, 0.58, 1.0)。

3、阶跃缓动函数

steps (number, start | end):函数接受两个参数:第一个参数表示动画分为几布;第二个参数的start 表示每一布的变化时机。用法如下

// 假设动画持续4s,将 P 点从 0px 移动到 40px
steps (4, end) // 将动画分成4步,第1s P 点停留在0px,第1s末第2s初跳跃到10px,以此类推
steps (4, start) // 将动画分成4步,第1s P 点停留在10px,第1s末第2s初跳跃到20px,以此类推

关键字:

step-start: 等价于steps(1, start)

step-end: 等价于steps(1, end)

相关文章:

CSS:让动画流畅生动的缓动函数

在CSS中&#xff0c;可以使用transition属性或者keyframes关键帧动画来创建动画效果。 使用缓动函数则可以让动画更加流畅和生动。 div {transition: <property> <duration> <timing-function> <delay>; }div {animation: <keyframes-name> &l…...

蓝桥杯集训·每日一题2024 (差分)

前言&#xff1a; 差分笔记以前就做了&#xff0c;在这我就不再写一遍了&#xff0c;直接上例题。 例题&#xff1a; #include<bits/stdc.h> using namespace std; int a[10009],b[100009]; int main(){int n,ans10,ans20;cin>>n;for(int i1;i<n;i){cin>>…...

嵌入式通信数据经常说的大端和小端模式(学习)

一.概念 大端模式&#xff08;Big-endian&#xff09;&#xff1a;高位字节排放在内存的低地址端&#xff0c;低位字节排放在内存的高地址端&#xff0c;即正序排列&#xff0c;高尾端&#xff1b; 小端模式&#xff08;Little-endian&#xff09;&#xff1a;低位字节排放在…...

bun 单元测试

bun test Bun 附带了一个快速、内置、兼容 Jest 的测试运行程序。测试使用 Bun 运行时执行&#xff0c;并支持以下功能。 TypeScript 和 JSX生命周期 hooks快照测试UI 和 DOM 测试使用 --watch 的监视模式使用 --preload 预加载脚本 Bun 旨在与 Jest 兼容&#xff0c;但并非所…...

阿里云2核4G服务器支持多少人同时在线?

2核4G服务器支持多少人在线&#xff1f;阿里云服务器网账号下的2核4G服务器支持20人同时在线访问&#xff0c;然而应用不同、类型不同、程序效率不同实际并发数也不同&#xff0c;2核4G服务器的在线访问人数取决于多个变量因素&#xff1a; 2核4G&#xff1a;2核CPU和4G内存对…...

浏览器发出一个请求到收到响应步骤详解

前言 在网络通信中&#xff0c;浏览器向Web服务器发送HTTP请求消息的过程是一个复杂而精密的环节&#xff0c;涉及到URL解析、DNS解析、数据拆分、路由表规则和MAC头部添加等一系列步骤。本文将深入探讨这一过程的每个环节&#xff0c;帮助读者更全面地了解浏览器与Web服务器之…...

121. 买卖股票的最佳时机【leetcode】/动态规划

121. 买卖股票的最佳时机 给定一个数组 prices &#xff0c;它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票&#xff0c;并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从…...

K8S Service相关概念

Service基本概念 K8S Service是K8S实现微服务架构最重要的组件之一&#xff0c;主要作用&#xff1a;1&#xff09;为Pod提供稳定的访问地址&#xff08;域名或IP&#xff09;&#xff0c;2&#xff09;实现负责均衡&#xff0c;3&#xff09;自动屏蔽后端Endpoints的变化。 …...

小米消金剖析“冒充老板”诈骗案例,呼吁群众提高反诈意识

近年来&#xff0c;诈骗手段日益翻新&#xff0c;冒充公司老板身份进行诈骗的案例屡见不鲜。不法分子利用人们的焦虑心理&#xff0c;以冒充老板的身份进行诈骗&#xff0c;给无数工作人员和企业带来了巨大的经济损失。重庆小米消费金融有限公司&#xff08;以下简称“小米消金…...

全量知识系统问题及SmartChat给出的答复 之14 解析器+DDD+文法型 之2

Q36. 知识系统中设计的三种文法解析器和设计模式之间的关系 进一步&#xff0c;我想将 知识系统中设计的三种语言&#xff08;形式语言、人工语言和自然&#xff09;的文法解析器和DDD中的三种程序类型&#xff08;领域模型、领域实体和领域服务&#xff09; 形式语言文法 我…...

蓝桥杯备赛 day2 | 4. 付账问题 5. 数字三角形

付账问题&#xff0c;关键是要了解整型的范围&#xff0c;确定获取输入数据的变量类型 需要注意的是int的十进制范围-32768 ~ 32767&#xff0c;那么我们可以知道&#xff0c;人数n是可以用int来装的&#xff0c;需付款数S应该是long long&#xff0c;获取的每个人初始钱数也应…...

2024关于idea激活码报This license xxxx has been suspended

HOSTS文件中增加 0.0.0.0 www.jetbrains.com 0.0.0.0 account.jetbrains.com 然后...

Android9-W517-使用NotificationListenerService监听通知

目录 一、前言 二、前提 三、方案 方案一 方案二 方案三 方案四 方案五 方案六 方案七 四、关于NotificationListenerService类头注释 五、结论 一、前言 NotificationListenerService可以让应用监听所有通知&#xff0c;但是无法获得监听通知的权限&#xff0c;如…...

git的“You can‘t push commits with committe“解决方法

如果使用错误的用户和邮箱执行了git提交&#xff0c;在执行 git push 时将遇到如下错误&#xff1a; ! [remote rejected] feature_116390305_story_0 -> feature_116390305_story_0 (You cant push commits with committer ‘yijian’ or email eyjianqq.com who is not ex…...

CAN总线的拓扑类型和CAN收发器(原理讲解)

1&#xff1a;CAN收发器&#xff08;原理讲解&#xff09; 从原理上来讲CAN_H拉升电压&#xff0c;或CAN_L拉低电压的原理。 以上是TJA1145AT的俯瞰图&#xff0c;此芯片是NXP比较先进的CAN收发器&#xff0c;带SPI总线系统。 回到正题&#xff0c;CAN_H和CAN_L收发器是通过内…...

如何实现WordPress后台显示文章、分类目录、标签等的ID?

我们平时在使用WordPress的过程中&#xff0c;偶尔需要用到文章的ID&#xff0c;或分类目录ID&#xff0c;或标签ID&#xff0c;或媒体库ID&#xff0c;或评论ID&#xff0c;或用户ID等&#xff0c;但是WordPress后台默认是不显示它们的ID的。 今天boke112百科就跟大家分享如何…...

【GB28181】SIP协议实践之Windows下VS2019编译eXosip、osip,测试(附工程源码,一键打开编译)

引言 SIP开源库或者GB28181,这里选择了osip和eXosip,但是这两个库的编译使用有些麻烦,源码下来之后编译会出现很多问题,网上也没有找到完整的编译介绍,只能一步一步的找办法解决,以下帮大家整理编译过程。 如果不想编译,可以跳转文章末尾链接直接下载相应工程直接编译即…...

GPT提示语格式——个人自用

总体格式 指令&#xff1a;将 输入 划分为/翻译为/提取出/... 输出 输出格式&#xff1a;... 输入示例&#xff1a;... 输出示例&#xff1a;... 输入&#xff1a;... 输出&#xff1a;基本概述 示例 指令&#xff1a; 提取以下文本中的介词。 输入&#xff1a;“虽然这些发展…...

MCU最小系统电路设计(以STM32F103C8T6为例)

目录 一、何为最小系统&#xff1f; 二、最小系统电路设计 1.电源 &#xff08;1&#xff09;各种名词解释 &#xff08;2&#xff09;为什么会有VDD_1 _2 _3区分&#xff1f; &#xff08;3&#xff09;Mirco USB &#xff08;4&#xff09;5v->3.3v滤波电路 &#…...

[JavaWeb学习日记]JSP+Cookie+Filter与登录+CRUD案例

目录 一.JSP 二.EL表达式与JSTL标签 三.Cookie 四.Session 五.Filter 六. 登录CRUD:品牌增删改查案例 Demo一览 1.导包 2.构建包结构 3.创建数据库表tb_brand与user 4.创建实体类 5.mybatis的配置文件和logback配置文件 6.写接口 7.工具类&#xff1a;生成图片与…...

OmenSuperHub终极指南:3步解锁暗影精灵完整性能潜力

OmenSuperHub终极指南&#xff1a;3步解锁暗影精灵完整性能潜力 【免费下载链接】OmenSuperHub 使用 WMI BIOS控制性能和风扇速度&#xff0c;自动解除DB功耗限制。 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 想要彻底掌控惠普暗影精灵笔记本的性能吗&…...

Creo 9.0新手必看:别再乱点‘基准平面’了,这7种创建方法才是正确打开方式

Creo 9.0基准平面实战指南&#xff1a;7种高效创建方法与避坑技巧 刚接触Creo 9.0的工程师们&#xff0c;是否经常遇到这样的场景&#xff1a;面对一个复杂零件建模时&#xff0c;明明脑子里已经构思好了结构&#xff0c;却卡在第一步——找不到合适的草绘平面&#xff1f;或者…...

TI IWR6843ISK-ODS雷达固件开发环境搭建:从MATLAB Runtime到CCS的保姆级避坑指南

TI IWR6843ISK-ODS雷达固件开发环境搭建实战手册 毫米波雷达技术正在智能感知领域掀起革命浪潮&#xff0c;而德州仪器(TI)的IWR6843ISK-ODS评估板因其出色的集成度和性价比&#xff0c;成为众多开发者进入这一领域的首选平台。然而&#xff0c;从硬件拆封到第一个雷达点云成功…...

从点灯到AI:用高云Tang Nano 4K玩转FPGA+MCU混合开发(附避坑指南)

从点灯到AI&#xff1a;高云Tang Nano 4K混合架构开发实战与避坑指南 在嵌入式AI和边缘计算领域&#xff0c;FPGA凭借其并行计算能力和低功耗特性&#xff0c;正成为越来越多开发者的选择。而高云Tang Nano 4K这款搭载Cortex-M3硬核的FPGA开发板&#xff0c;以其独特的"FP…...

人工智能系统的测试:AI模型的可靠性与鲁棒性测试

在人工智能技术深度渗透各行业的当下&#xff0c;AI模型的可靠性与鲁棒性直接关乎业务安全与用户信任。对于软件测试从业者而言&#xff0c;突破传统测试思维&#xff0c;构建适配AI特性的测试体系&#xff0c;已成为保障AI系统高质量落地的核心任务。 一、AI模型可靠性与鲁棒…...

别再焊错线了!51单片机+L298N驱动小车底盘,保姆级接线避坑指南

51单片机L298N驱动小车底盘&#xff1a;从零避坑到一次点亮 当你第一次把51单片机、L298N电机驱动模块、红外传感器和电源组装在一起时&#xff0c;是否曾被那些密密麻麻的杜邦线弄得晕头转向&#xff1f;每个初学者都可能经历过接错线导致芯片冒烟的惨痛教训。本文将用实战经验…...

别再死记硬背参数了!Halcon形状匹配(create_shape_model)核心参数保姆级解读

Halcon形状匹配核心参数深度解析&#xff1a;从原理到实战调参指南 在工业视觉检测领域&#xff0c;形状匹配技术一直是定位和识别的核心手段。Halcon作为行业领先的机器视觉软件&#xff0c;其create_shape_model和find_shape_model算子提供了强大的形状匹配能力。然而&#…...

告别Minecraft模组英文界面:MASA全家桶汉化包完全指南

告别Minecraft模组英文界面&#xff1a;MASA全家桶汉化包完全指南 【免费下载链接】masa-mods-chinese 一个masa mods的汉化资源包 项目地址: https://gitcode.com/gh_mirrors/ma/masa-mods-chinese 你是否曾经在Minecraft中面对满屏的英文模组界面感到困惑&#xff1f;…...

别再死记公式了!图解STM32 PWM生成与频率测量原理(以20Hz/50%占空比方波为例)

图解STM32 PWM核心原理&#xff1a;从水桶模型到实战波形测量 想象一下你正在用漏水的水桶给花园浇水——水桶每滴完500毫升就自动重新加满&#xff0c;而你通过控制水龙头开关的时间比例来调节湿润程度。这恰恰是STM32定时器生成PWM波形的底层逻辑。对于刚接触嵌入式开发的工程…...

C++二叉树构建、深拷贝与可视化输出实战解析

1. 项目概述&#xff1a;从零构建与复制二叉树在C的日常开发中&#xff0c;尤其是涉及到算法、数据结构或者需要处理层次化数据的场景&#xff0c;二叉树是一个绕不开的基础结构。最近我在重构一个旧的项目模块&#xff0c;其中核心需求就是需要动态生成一个数据结构&#xff0…...