【bug记录】ios动画闪烁,@keyframe动画在100%的时候设置为opacity:0,最后一帧会变成opacity:1

news2024/10/6 18:23:11

背景

前段时间需要实现一个水波纹扩散效果,大概效果就两点:波纹逐渐扩散,半径逐渐增大;透明度逐渐降低(如下图)。本以为这就是一个简单的动画,很轻松就实现了。但是发布之后测试同学反馈:在ios上,动画会闪烁。
在这里插入图片描述
经过我的观察(下图是闪烁时的效果),很明显是在动画结束后,opacity突然会变成1导致的(动画100%时opacity设为0)。我本来以为可能是动画结束后会先显示下初始状态导致的,但是经过我实验,如果我在动画初始状态设置一些明显的样式,结束后依然只会影响到opacity。

所以我得出结论,ios动画在opacity的变化上就是有bug(当然这个结论只是我粗略的实验得出的)。
在这里插入图片描述

解决办法

以下是我尝试过的一些办法,【3,4】为有效解决办法!!!

  1. 我在动画100%处设置opacity:0的同时,再设置visibility: hidden。结果是无效。

  2. 第二种办法是百度查到的方法,网上好像只提供了这一种方法,就是设置父元素overflow:hidden,然后在动画100%时将动画元素位移到父元素外。
    我尝试了以下,在保留原本波纹动画的基础上,又新增了一个动画,在99%-100%时将元素位移出屏幕,实际效果非常不好,也可能是我参数设置的不太好;

  3. 用设置背景色 rgba 的方式替换opacity变化,这个方式应该是有效的,但是只适合背景是纯色的场景,因为我这个波纹是渐变色的,所以这个方法也pass;

  4. 第四种办法是我的最终解决方案,那就是在动画0%时opacity也设为0,然后再将透明度增加到1,类似于动画延迟的效果。最终效果还不错。下面是我的波纹动画:

@keyframes songbo {
  0%{
    opacity: 0;
    width: 0;
    height: 0;
  }
  10%{
    opacity: .2;
    width: 340rpx;
    height: 340rpx;
  }
  to{
    opacity: 0;
    width: 980rpx;
    height: 980rpx;
  }
}

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

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

相关文章

Allegro如何设置Net Class在物理和间距规则中同步操作指导

Allegro如何设置Net Class在物理和间距规则中同步操作指导 在用Allegro设置规则的时候,设置net class是必要的操作,时常需要在物理和间距规则都设置好Class,如果物理和间距规则中都单独去设置的话比较费时间。如下图Net Class 下面介绍如何将物理和间距规则中的Class同步起来…

AgentBench:AI智能体的应用前景——消费端的应用

从应用前景上看,AI智能体既可以被用于消费端来提升用户的使用体验,也可以被用于生产端来作为重要的生产力工具。 1、消费端的应用 在消费端,AI智能体将凭借其强大的能力取代现有的聊天机器人,并应用到广泛的领域。聊天机器人目前已比较普及,比如苹果的Siri、亚马逊的A…

Java学习笔记39

Java笔记39 反射机制 静态/动态语言 动态语言 是一类在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。通俗点说就是在运行时代码可以根据某些条件改变自身结构。主要动态语言&#…

学习记录——FLatten Transformer

FLatten Transformer: Vision Transformer using Focused Linear Attention ICCV 2023 聚焦式线性注意力模块 关于Transformer 在Transformer模型应用于视觉领域的过程中,降低自注意力的计算复杂度是一个重要的研究方向。线性注意力通过两个独立的映射函数来近似S…

【图解】多层感知器(MLP)

图片是一个多层感知器(MLP)的示意图,它是一种常见的神经网络模型,用于从输入到输出进行非线性映射。图片中的网络结构如下:

python 打印沁园春 雪 居中对齐 文本对齐

以下是python 中使用 DebugInfo 模块居中对齐打印《沁园春・雪》的效果 引入模块 pip install DebugInfopython代码 # -*- coding:UTF-8 -*-# region 引入必要依赖 from DebugInfo.DebugInfo import * # endregion诗文 沁园春 雪 作者: 毛主席 北国风光,千里冰封…

12312321312

目录 层次分析法(AHP) 基本步骤 建立层次模型 构造判断矩阵 一致性检验 求得权重 填表得结果 一点补充 详细做法补充 特征向量含义思考 一些问题 优劣解距离法(TOPSIS) 基本思想 模型步骤 数据处理 指标正向化 标准化处理 计算得分 *结果处理 熵权法 模型思…

【【萌新的STM32学习-12】】

萌新的STM32学习-12 GPIO八种模式 1输入浮空 输入用,完全浮空,状态不定 2输入上拉 输入用,用内部上拉,默认是高电平 3输入下拉 输入用,用内部下拉,默认是低电平 4模拟功能 ADC DAC 5开漏输出 软件IIC的…

春秋云镜 CVE-2019-2725

春秋云镜 CVE-2019-2725 Weblogic < 10.3.6 ‘wls-wsat’ XMLDecoder 反序列化漏洞 靶标介绍 Oracle Fusion Middleware&#xff08;子组件&#xff1a;Web Services&#xff09;的 Oracle WebLogic Server 组件中的漏洞。受影响的受支持版本为 10.3.6.0.0 和 12.1.3.0.0。…

5个最重要的开源电商 ERP 系统功能

作为开源电商 ERP 系统领域的专家&#xff0c;我想分享一下电商企业在选择 ERP 系统时需要考虑的关键功能。 功能一&#xff1a;库存管理 库存管理是任何一家电商企业都必须考虑的问题。好的库存管理系统可以帮助企业减少库存积压、避免库存短缺&#xff0c;并提高库存周转率…

如何使用HTML5新增的标签来优化SEO?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 使用HTML5新增的标签来优化SEO&#xff1f;⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&#xff01;这个专栏是为那些对…

SpringCloud学习笔记(一)_快速入门

SpringCloud简介 Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具&#xff08;例如配置管理&#xff0c;服务发现&#xff0c;断路器&#xff0c;智能路由&#xff0c;微代理&#xff0c;控制总线&#xff09;。分布式系统的协调导致了样板模式, 使用Spr…

MyBaits_Plus

MyBatis_Plus 文章目录 MyBatis_Plus0. 必备知识1.快速入门1.1什么是MyBatis_Plus1.2快速使用 2.配置日志3.CURD的扩展3.1Insert3.2 update3.3自动填充3.4乐观锁3.5delete 4.select4.1基本查询4.2分页查询4.3条件构造器 5.代码自动生成器 0. 必备知识 使用第三方组件一般步骤 …

[已解决]system: No such file or directory #include <filesystem>

make编译&#xff0c;遇到&#xff1a;system: No such file or directory #include <filesystem> &#xff08;1&#xff09;升级gcc[参考][gcc升级参考1][gcc升级参考2]&#xff1a;gcc7.5 升级为 gcc11.1, 未解决问题&#xff1b; &#xff08;2&#xff09;修改头文…

TienChin 渠道管理-工程创建

因为本文章主要围绕着项目开发进行&#xff0c;所以前言不做开头&#xff0c;直接上内容。 添加字段 我们的渠道表&#xff0c;我看到若依脚手架当中有一个是否删除的标志字段&#xff0c;所以我这里也添加一下&#xff1a; ALTER TABLE tienchin_channelADD COLUMN del_flag c…

使用MySQL:5.6和owncloud镜像搭建个人网盘

拉取镜像 [rootkvm ~]# docker pull mysql:5.6[rootkvm ~]# docker pull owncloud启动mysql容器 [rootkvm ~]# docker run -d --name db1 -e MYSQL_ROOT_PASSWORDroot mysql:5.6 db832e4e4333a0e9a7c152a67272721fdbe5381054090c5eb24f90455390a852 [rootkvm ~]# docker ps …

2、Spring_DI

DI 1.概述 概述&#xff1a;Dependency Injection 依赖注入&#xff0c;给对象设置属性&#xff0c;曾经我们需要自己去创建 mapper 对象&#xff0c;才能调用&#xff0c;现在交给 spring 创建&#xff0c;并且使用 DI 注入&#xff0c;直接拿来用&#xff0c;程序员就可以更…

小说作者分享:如何利用爱校对使我的作品更出彩?

在创作小说的过程中&#xff0c;校对和修改是至关重要的步骤。许多作家已经开始利用“爱校对”这一工具&#xff0c;有效地提高他们作品的质量。本篇文章将通过实际案例&#xff0c;展示一些小说作者是如何成功地利用爱校对来精雕细琢他们的文字&#xff0c;并将作品提升到一个…

数据结构,二叉树,前中后序遍历

二叉树的种类 最优二叉树 最优二叉树画法 排序取最小两个值和&#xff0c;得到新值加入排序重复1&#xff0c;2 前序、中序和后序遍历是树形数据结构&#xff08;如二叉树&#xff09;中常用的遍历方式&#xff0c;用于按照特定顺序遍历树的节点。这些遍历方式在不同应用中有不…

x86 分段机制

本篇只是做个记录,把重要的东西记录一下. 不保证正确x86中的物理地址计算过程 8086 时代的分段机制 这要从8086实模式说起 8086实模式 是基于 分段机制的.该模式下有段寄存器该模式下存在 逻辑地址[a:b] 和 (线性地址) 物理地址 // a 存储在段寄存器中,[a:b] 存储了 逻辑地址…