html - 使用 CSS 动画更改背景图像

标签 html css animation transition viewport

如何让这个类在 div 出现在视口(viewport)中 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 中设置动画时,您需要在两个相似值之间设置动画。

例如,这将起作用:

最大高度:0px;最大高度:100px;

这不会:

max-height: none;max-height: 100px;

但是,出于性能原因,建议在 animating in CSS 时使用 opacitytransform 属性

.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;
  }
}

https://jsfiddle.net/hellogareth/j3ytzq52/22

关于html - 使用 CSS 动画更改背景图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56943604/

相关文章:

jquery - 立方体图像在 3d 动画中看起来不太好

javascript - 如何在按下 `Stop` 按钮时停止动画并卡住图像

java - html页面不会在android api 8 webview中呈现但在浏览器中可以

javascript - 在动态加载的 html 中使用 Angular Controller

jquery - 在另一个标签中查找和包装带有标签的文本

javascript - 在 JS 中的正方形内绘制正方形

背景/前景转换后 iOS 动画停止

CSS3 无法反转动画

html - Ruby on Rails-simple_form_for如何显示每个字段的错误

jquery - 未悬停时标注不会关闭