小编典典

在渐变背景中使用CSS3过渡

css

我正在尝试在CSS上的缩略图上进行悬停过渡,以便在悬停时淡入背景渐变。过渡不起作用,但是如果我简单地将其更改为一个rgba()值,则可以正常工作。不支持渐变吗?我也尝试过使用图像,它也不会转换图像。

我知道这是有可能的,就像在另一篇文章中有人做的那样,但我不知道该怎么做。任何帮助>以下是一些可使用的CSS:

#container div a {
  -webkit-transition: background 0.2s linear;
  -moz-transition: background 0.2s linear;
  -o-transition: background 0.2s linear;
  transition: background 0.2s linear;
  position: absolute;
  width: 200px;
  height: 150px;
  border: 1px #000 solid;
  margin: 30px;
  z-index: 2
}

#container div a:hover {
  background: -webkit-gradient(radial, 100 75, 100, 100 75, 0, from(rgba(0, 0, 0, .7)), to(rgba(0, 0, 0, .4)))
}

阅读 437

收藏
2020-05-16

共1个答案

小编典典

渐变尚不支持过渡(尽管当前规范说,它们应支持渐变,例如通过插值进行渐变过渡)。

如果要使用背景渐变的淡入效果,则必须在容器元素上设置 不透明度 ,然后对不透明度进行“过渡”。

(有一些浏览器版本支持渐变过渡(例如IE10。我在2016年在IE中测试了渐变过渡,当时似乎可以使用,但我的测试代码不再可用。)

更新:2018年10月 使用无前缀的新语法[例如:radial-gradient(…)]的渐变过渡现已确认可以在Microsoft Edge
17.17134上正常运行(再次?)。我不知道何时添加。仍无法在最新的Firefox和Chrome / Windows 10上运行。

2020-05-16