css - 动画大图像在 Safari 上无法正常工作

标签 css safari webkit css-animations

我有一个大而宽的图像,我正在使用 CSS 制作动画。该图像在 Chrome(桌面和 Android)和 Firefox 上按预期显示和动画。

但是,在 Safari(台式机和移动设备,v12.1)上,图像通常没有动画效果,或者更糟的是 - 在初始加载时部分显示/根本不显示。一两次页面刷新后,它开始按预期运行(可能是因为它从缓存中加载了图像)。

禁用动画后,图像在初始加载时显示正常。

Demo
Source code

知道为什么 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';

关于css - 动画大图像在 Safari 上无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55673434/

相关文章:

html - 占位符的字体大小不适用于 IE 边缘

android - 在 Android 移动设备中打开键盘时出现图像大小调整问题

javascript - Nivo slider v3.1

ios - ScriptMessageHandler 并不总是在实际设备上调用,在模拟器上运行良好

css - 使用 CSS 自定义滚动条

css - 背景颜色CSS IE 8问题

css - 顶部 : 50%; not working in Safari

jquery - 非 ascii 字符仅在 Safari 浏览器中添加表单输入

css - 在 iPad 的 Safari 中纠正背景缩放的方法?

css - 动画时边界半径消失