html - CSS 关键帧闪光效果在 Chrome 中有效,但在 Firefox 中无效?
问题描述
我有以下 HTML:
<div class="shimmer">
<a href="somePage" target="_blank"><img src="someImage"></a>
<a href="otherPage" target="_blank"><img src="otherImage"></a>
</div>
CSS:
.shimmer img{
color: grey;
display:inline-block;
-webkit-mask:linear-gradient(-60deg,#000 30%,#0005,#000 70%) right/300% 100%;
background-repeat: no-repeat;
animation: shimmer 3s infinite;
}
@keyframes shimmer {
100% {-webkit-mask-position:left}
}
对图像进行简单的微光效果。
当我使用 Firefox 或 Chrome 在本地打开 HTML 存档时,它工作得非常好。但是,当我修改互联网网页时,效果在 Chrome 中运行良好,但在 Firefox 或移动设备中没有出现。
帮助?我已经搞砸了一个小时,无法提出错误。感谢您的时间。
解决方案
这是因为-webkit
在 Firefox 中不起作用。但 Firefox 支持该mask
属性。
例如:您可以声明所有后备属性。
div {
-webkit-mask: bla;
mask: bla;
}
另请参阅有关遮罩功能的文档。在页面底部,您可以看到支持的浏览器。
https://developer.mozilla.org/en-US/docs/Web/CSS/mask
.shimmer img {
color: grey;
display: inline-block;
-webkit-mask: linear-gradient(-60deg, #000 30%, #0005, #000 50%) right / 300% 100%;
mask: linear-gradient(-60deg, #000 30%, #0005, #000 50%) right / 300% 100%;
background-repeat: no-repeat;
animation: shimmer 3s infinite;
}
@keyframes shimmer {
0% {
-webkit-mask-position: 140% 140%;
mask-position: 140% 140%;
}
100% {
-webkit-mask-position: -20% -20%;
mask-position: -20% -20%;
}
}
<div class="shimmer">
<a href="somePage" target="_blank"><img src="https://i.stack.imgur.com/Sbpt3.jpg"></a>
<a href="otherPage" target="_blank"><img src="https://i.stack.imgur.com/Sbpt3.jpg"></a>
</div>
(在 Chrome 95 和 Firefox 94 中测试)
我还通过将蒙版移到外面来优化你的动画以获得更平滑的效果。
推荐阅读
- python - 根据用户输入更新“列表”仅更新一次
- python - 向熊猫数据框添加一个新列,其中包含另一列的隐藏值?
- azure - Azure Devops 管道构建参数
- python - Plotly:创建具有分类 x 轴抖动和多级轴的 Scatter
- javascript - 如何将网络摄像头实时存储在服务器上?
- python - 用于从嵌套列表中删除子列表的 python 函数
- batch-file - 为什么我的“REM PrintBoxAt 1 1 25 80 2”代码不能正常工作?
- linux - 无法在生产环境中使用 Docker 在 Symfony 4.4 上安装 LiipImagineBundle 2.3
- python - UnboundLocalError:局部变量:在 Python 上
- java - Android 通知点击打开应用程序仅适用于第一次