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

bug 记录 - animation 在 IOS机型掉帧情况

发现问题

  • 在做一个悬浮动画效果时,测试人员提出一个问题。
  • 在 IOS 机型上,动画效果有掉帧不流畅的现象。在安卓机型没有问题。

问题代码

  • 想要的效果是:以随机角度出现,小幅度缩小淡入,向上飘动并放大最后淡出消失
.animationBox{
	width: 100px;
	height: 100px;
	position: absolute;
	top: 0;
	opacity: 1;
	transform: var(--rotateZ) scale(1.2);
	animation: animation 0.5s 1 linear forwards;
}
@keyframes animation {
	0% {
		top: 0;
		opacity: 0;
		transform: var(--rotateZ) scale(1.2);
	}
	30% {
		top: 0;
		opacity: 1;
		transform: var(--rotateZ) scale(1);
	}
	70% {
		top: -100px;
		opacity: 1;
		transform: var(--rotateZ) scale(1);
	}
	99% {
		top: -100px;
		opacity: 0;
		transform: var(--rotateZ) scale(1.6);
	}
	100% {
		top: -100px;
		opacity: 0;
		transform: var(--rotateZ) scale(1.6);
		display: none;
		visibility: hidden;
	}
}

解决思路

  • 参考了一个解答,IOS 机型的 animation 会对一部分属性会进行重绘,所以会有卡顿不流畅的效果。
  • 参考链接

重新编写

.animationBox{
	width: 100px;
	height: 100px;
	opacity: 1;
	transform: translateY(0) var(--rotateZ) scale(1.2);
	animation: animation 0.5s 1 linear forwards;
}
@keyframes animation {
	0% {
		opacity: 0;
		transform: translateY(0) var(--rotateZ) scale(1.2);
	}
	30% {
		opacity: 1;
		transform: translateY(0) var(--rotateZ) scale(1);
	}
	70% {
		opacity: 1;
		transform: translateY(-100%) var(--rotateZ) scale(1);
	}
	99% {
		opacity: 0;
		transform: translateY(-100%) var(--rotateZ) scale(1.6);
	}
	100% {
		opacity: 0;
		transform: translateY(-100%) var(--rotateZ) scale(1.6);
		display: none;
		visibility: hidden;
	}
}
  • 这段代码在多个 IOS 机型上测试后,没再复现出卡顿的问题。

http://www.kler.cn/a/307189.html

相关文章:

  • 【C++】一种针对代码的连续条件检查方案,累计布尔结果
  • 十三、注解配置SpringMVC
  • FFmpeg 4.3 音视频-多路H265监控录放C++开发十三:将AVFrame转换成AVPacket。视频编码原理.编码相关api
  • 《TCP/IP网络编程》学习笔记 | Chapter 11:进程间通信
  • 【知识科普】SPA单页应用程序介绍
  • node.js安装和配置教程
  • Web安全之HTTPS调用详解和证书说明案例示范
  • Ubuntu 安装包下载(以20版本 阿里镜像站为例子)
  • 非凸科技钻石赞助第四届Rust China Conf 2024
  • (南京观海微电子)——GH7006+Boe_6.8_AV068WVU-N10原理介绍
  • 数据清洗-缺失值填充-K-NN算法(K-Nearest Neighbors, K-NN算法)
  • STM32与ESP8266的使用
  • SSH工具 MobaXterm的使用与快捷配置
  • 【JS|第27期】网页文件传输:Blob与Base64的对决
  • 优化理论及应用精解【8】
  • 视频生成3D模型luma AI Dashboard
  • shell脚本中sed命令如何使用变量
  • 开发适合el-dialog的拉伸拖拽自定义指令和适配自定义的图片查看组件
  • 从主流技术架构视角剖析 Java Web 项目的性能测试策略与挑战
  • 研1日记13
  • unity3d入门教程六
  • 校验(网络传输)
  • PHP环境搭建
  • 函数模板(初阶)
  • VuePress搭建文档网站/个人博客(详细配置)之站点配置
  • 海鲜市场|基于springboot的网络海鲜市场系设计与实现(附项目源码+论文+数据库)