如何使移动版 Safari 正确显示背景 gif
How to make mobile Safari show a background gif properly
我正在尝试向 Web 应用程序添加一个加载微调器,我在该应用程序中获得了应用作图标的动画 gif。现在我正在使用 div 执行此操作,该 div 最初通过 CSS 隐藏,然后在我想要指示加载时显示。我在这个 div 上使用以下 CSS 以便在显示加载 gif 时出现在屏幕中央
#loader {
位置:固定;
左:50%;
顶部:50%;
z-索引:10000;
边界半径:50%;
边框:5px 实心#3AACE2;
宽度:128px;
高度:128px;
边距:-76px 0 0 -76px;
背景:url(/content/images/loader.gif);
背景尺寸:128px 128px;
}
这在桌面和 android 设备上运行良好,但在移动 Safari 中(在 iPad 和 iPhone 上)gif 不显示。当显示 div 时,所有可见的都是边框。我认为这与 div 一开始是隐藏的有关,因此浏览器不会下载图像。所以我不确定是否有办法让它下载图像,或者是否有更好的方法来完成像这样的加载微调器。
请在safari中测试。我为 safari 添加了 -webkit
.loader {
position: fixed;
left: 50%;
top: 50%;
border-radius: 50%;
width: 128px;
height: 128px;
margin: -76px 0 0 -76px;
border: 16px solid #f3f3f3;
border-top: 16px solid #fff;
-webkit-animation: spin 5s linear infinite;
animation: spin 5s linear infinite;
}
/* Safari */
@-webkit-keyframes spin {
0% { -webkit-transform: rotate(0deg); }
100% { -webkit-transform: rotate(360deg); }
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
</style>
</head>
<body>
<div class="loader"><img src="https://www.w3schools.com/html/programming.gif" alt="Computer man" style="width:48px;height:48px;"></div>
</body>
</html>
我正在尝试向 Web 应用程序添加一个加载微调器,我在该应用程序中获得了应用作图标的动画 gif。现在我正在使用 div 执行此操作,该 div 最初通过 CSS 隐藏,然后在我想要指示加载时显示。我在这个 div 上使用以下 CSS 以便在显示加载 gif 时出现在屏幕中央
#loader { 位置:固定; 左:50%; 顶部:50%; z-索引:10000; 边界半径:50%; 边框:5px 实心#3AACE2; 宽度:128px; 高度:128px; 边距:-76px 0 0 -76px; 背景:url(/content/images/loader.gif); 背景尺寸:128px 128px; }
这在桌面和 android 设备上运行良好,但在移动 Safari 中(在 iPad 和 iPhone 上)gif 不显示。当显示 div 时,所有可见的都是边框。我认为这与 div 一开始是隐藏的有关,因此浏览器不会下载图像。所以我不确定是否有办法让它下载图像,或者是否有更好的方法来完成像这样的加载微调器。
请在safari中测试。我为 safari 添加了 -webkit
.loader {
position: fixed;
left: 50%;
top: 50%;
border-radius: 50%;
width: 128px;
height: 128px;
margin: -76px 0 0 -76px;
border: 16px solid #f3f3f3;
border-top: 16px solid #fff;
-webkit-animation: spin 5s linear infinite;
animation: spin 5s linear infinite;
}
/* Safari */
@-webkit-keyframes spin {
0% { -webkit-transform: rotate(0deg); }
100% { -webkit-transform: rotate(360deg); }
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
</style>
</head>
<body>
<div class="loader"><img src="https://www.w3schools.com/html/programming.gif" alt="Computer man" style="width:48px;height:48px;"></div>
</body>
</html>