css - 动画大图像在 Safari 上无法正常工作
问题描述
我有一个大而宽的图像,我正在使用 CSS 制作动画。该图像在 Chrome(桌面和 Android 上)和 Firefox 上按预期显示和动画。
但是,在 Safari(桌面版和移动版,v12.1)上,图像通常没有动画效果,或者更糟 - 部分显示/根本不显示 - 在初始加载时。刷新一两个页面后,它开始按预期运行(可能是因为它从缓存加载图像)。
禁用动画后,图像在初始加载时显示良好。
任何想法为什么 Safari 会这样?
解决方案
我最终通过 JavaScript 加载图像,使其在 Safari 上正确显示和动画。这并不能解决问题的根源,但可以作为临时修复正常工作。
const imageElement = document.getElementById('image');
const image = new Image();
image.onload = function() {
imageElement.src = image.src;
imageElement.className = 'animation-class-name';
};
image.src = 'pic.jpg';
推荐阅读
- java - 如何激活基于 Class.forName 的类的方法?[爪哇]
- java - Kubernetes AWS 负载均衡器停止服务
- php - 上传上传深色照片
- windows - MSIX 打包工具和 MFC 支持(适用于 Windows 应用商店)
- python - Python - Apace Beam [GCP] - PubSub 到 GCS 与直接运行器一起使用,但不与 DataFlow 运行器一起使用
- javascript - 如何使用 json_encode 将 PHP 格式化为 Chart 的 javascript?
- javascript - js 文件正在加载,但 css 文件未加载
- python - 如何在 Anaconda 中安装 photon ML?
- kubernetes - K8s API 查询多个容器的 Pod 内的单个容器日志
- lmfit - 如何将参数的最大值设置为取决于 lmfit 中另一个参数的值?