使用 CSS 动画更改背景图像
Change background-image with CSS animation
如何让 class 在 div 出现在视口中 2 秒后更改其背景图像?它对我来说没有改变:
.cover-gradient {
background-image: none;
}
.cover-gradient:after {
opacity: 1;
transition: 0.3s;
animation: fadeMe 2s linear;
}
@keyframes fadeMe {
0% {
background-image: none;
}
100% {
background-image: linear-gradient(to right, rgba(179, 49, 95, 0.5), rgba(58, 0, 117, 0.5));
}
}
谢谢。
在 CSS 中设置动画时,您需要在两个相似值之间设置动画。
例如,这将起作用:
max-height: 0px;
和
max-height: 100px;
这不会:
max-height: none;
和 max-height: 100px;
但是,出于性能原因,建议在 animating in CSS
时使用 opacity
和 transform
属性
.cover-gradient {
height: 100vh;
width: 100vw;
opacity: 0;
animation: fadeMe 0.3s linear;
animation-delay: 2s;
animation-fill-mode: forwards;
background-image: linear-gradient(to right, rgba(179, 49, 95, 0.5), rgba(58, 0, 117, 0.5));
}
@keyframes fadeMe {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
如何让 class 在 div 出现在视口中 2 秒后更改其背景图像?它对我来说没有改变:
.cover-gradient {
background-image: none;
}
.cover-gradient:after {
opacity: 1;
transition: 0.3s;
animation: fadeMe 2s linear;
}
@keyframes fadeMe {
0% {
background-image: none;
}
100% {
background-image: linear-gradient(to right, rgba(179, 49, 95, 0.5), rgba(58, 0, 117, 0.5));
}
}
谢谢。
在 CSS 中设置动画时,您需要在两个相似值之间设置动画。
例如,这将起作用:
max-height: 0px;
和
max-height: 100px;
这不会:
max-height: none;
和 max-height: 100px;
但是,出于性能原因,建议在 animating in CSS
时使用opacity
和 transform
属性
.cover-gradient {
height: 100vh;
width: 100vw;
opacity: 0;
animation: fadeMe 0.3s linear;
animation-delay: 2s;
animation-fill-mode: forwards;
background-image: linear-gradient(to right, rgba(179, 49, 95, 0.5), rgba(58, 0, 117, 0.5));
}
@keyframes fadeMe {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}