【发布时间】:2016-05-13 18:16:26
【问题描述】:
我有一个背景垂直滚动的 CSS3 动画。我希望背景的顶部逐渐淡出。我在 Chrome 中使用:
-webkit-mask-box-image: -webkit-linear-gradient(transparent, black);
是否有跨浏览器的方式来实现这一点?也许使用 SVG 蒙版?甚至是设置此动画的 JavaScript 解决方案?
请看下面的示例代码:
div {
background-image: linear-gradient(rgba(24, 49, 67, .95), rgba(24, 49, 67, .88)), url(https://static.pexels.com/photos/96380/pexels-photo-96380.jpeg);
background-size: cover;
position: absolute;
width: 500px;
height: 500px;
}
div:before {
background: url(https://dl.dropboxusercontent.com/u/3454522/shapes1.svg);
content: '';
display: block;
position: absolute;
right: 0;
left: 0;
bottom: 0;
background-size: 100%;
height: 500px;
animation: bgscroll 100s infinite linear;
-webkit-mask-box-image: linear-gradient(transparent, black);
}
@keyframes bgscroll {
100% {
background-position: 0px -3000px;
}
}
<div>
</div>
【问题讨论】:
标签: css animation svg gradient