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

css animation 动画属性

animation

// 要绑定的关键帧规则名称
animation-name: slidein;// 定义动画完成一个周期所需的时间,秒或毫秒
animation-duration: 3s;// 定义动画速度曲线
animation-timing-function: ease;// 定义动画开始前的延迟时间
animation-delay: 1s;// 定义动画播放次数:n 具体次数;infinite:无限循环;
animation-iteration-count: infinite;// 定义动画是否反向播放
animation-direction: normal;// 定义动画再执行前后如何应用样式
animation-fill-mode: forwards;// 控制动画播放状态:running 正在播的;paused 暂停;
animation-play-state: running;// 简写 animation 属性
// animation: name duration timing-function delay iteration-count direction fill-mode play-state;


animation-timing-function: ease;(定义动画速度曲线)

ease

(默认)慢-快-慢
linear匀速
ease-in慢开始
ease-out慢结束
ease-in-out满开始、慢结束
cubic-bezier(n, n, n, n)自定义曲线

animation-direction: normal;(定义动画是否反向播放)

normal正常播放
reverse反向播放
alternate轮流正反向
alternate-reverse先反向、后正向 轮流

animation-fill-mode: forwards;(定义动画再执行前后如何应用样式)

none(默认)不应用任何样式
forwards保持最后一帧样式
backwards应用第一帧样式(考虑 delay)
both同时应用 forwards 和 backwards

 @keyframes 规则

// 定义动画的关键帧
@keyframes slidein{from {transform: translateX(0%);}50% {transform: translateX(50%);opacity: 0.5;}to {transform: translateX(100%)opacity: 1;}
}

性能考虑

优先使用 transform 和 opacity 属性进行动画,这些属性可以由浏览器高效处理;

避免动画过多元素,可能导致性能问题;

使用 will-change 属性预先告知浏览器哪些元素会变化;

.element {will-change: transform, opacity;
}

CSS will-change 属性详解

是一个性能你优化属性,它允许开发者提前告知浏览器哪些元素属性即将发生变化,让浏览器可以提前做好优化准备。

/* 基本语法 */
will-change: auto | <animateable-feature> | scroll-position | contents;
auto默认值,表示浏览器不会做任何特殊优化
ps. transform  opacity ...特定属性,指即将变化的CSS属性名称
scroll-position表示元素的滚动位置即将改变
contents表示元素的内容即将改变

http://www.dtcms.com/a/175753.html

相关文章:

  • 基于大模型的子宫平滑肌瘤全周期预测与诊疗方案研究
  • 细究Java三大特性之封装、继承、多态
  • Spark jdbc写入崖山等国产数据库失败问题
  • 数据可视化:php+echarts实现数据可视化
  • 16.状态模式:思考与解读
  • 明远智睿SD2351核心板:工业AIoT时代的创新引擎
  • MapReduce中的分区器
  • 【HTTP】《HTTP 全原理解析:从请求到响应的奇妙之旅》
  • NX二次开发——BlockUI 弹出另一个BlockUI对话框
  • 说说es配置项的动态静态之分和集群配置更新API
  • JAVA中ArrayList的解析
  • C语言初阶:数组
  • Webug4.0靶场通关笔记20- 第25关越权查看admin
  • Webug4.0靶场通关笔记19- 第24关邮箱轰炸
  • 限流算法学习笔记(一)Go Rate Limiter
  • 数据实验分析
  • RabbitMQ-springboot开发-应用通信
  • 精益数据分析(48/126):UGC商业模式的指标剖析与运营策略
  • JVM中类加载过程是什么?
  • node.js 实战——餐厅静态主页编写(express+node+ejs+bootstrap)
  • css识别\n换行
  • 安卓工程build.gradle中的Groovy的常见知识点
  • 【神经网络与深度学习】VAE 中的先验分布指的是什么
  • “胖都来”商标申请可以通过注册不!
  • Eclipse通过Tomcat启动web项目报错
  • 使用 AI 如何高效解析视频内容?生成思维导图或分时段概括总结
  • 基于 ISO 22301 与国产化实践的 BCM 系统菜单设计指南
  • 【疑难杂症2025-003】Java-mvn项目在gitlab-ci构建镜像时遇到的问题和解决方案
  • ✍️【TS类型体操进阶】挑战类型极限,成为类型魔法师![特殊字符]♂️✨
  • EDU/EDU.CN教育邮箱的申请(申请成功可以免费使用一年CursorPro)