当前位置: 首页 > 面试题库 >

在渐变背景中使用CSS3过渡

姜玮
2023-03-14
问题内容

我正在尝试在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)))
}

问题答案:

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

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

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

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



 类似资料:
  • 渐变背景也是CSS3 的新特性,通过它可以在不使用图像的情况下,创建从一种颜色到另一种颜色的过渡。使用渐变的好处是,可以减少对图像的依赖,进而降低浏览网页时的带宽消耗,提高网站的访问速度。 渐变,就是两种或多种颜色之间的平滑过渡。在创建渐变时,可以指定多个中间颜色值,这些值称为色标。每个色标包含一种颜色和一个位置,浏览器自动从一个色标的颜色,平滑过渡到下一个色标的颜色。 在CSS3中,只需将 ba

  • 如图所示,渐变背景倾斜平铺

  • 问题内容: 我一直在尝试在背景图片的顶部使用线性渐变,以使背景底部的阴影效果从黑色变为透明,但似乎无法使其显示。 我在这里阅读了其他案例和示例,但没有一个对我有用。我只能看到渐变或图像,但不能全部看到。 只需单击第一个徽标,就忽略该效果,此后我要尝试的是整个网站的正文。 这是我的CSS代码: 问题答案: 好的,我通过 在行尾 添加背景图片的网址来解决此问题。 这是我的工作代码:

  • CSS3 背景 CSS3中包含几个新的背景属性,提供更大背景元素控制。 在本章您将了解以下背景属性: background-image background-size background-origin background-clip 您还将学习如何使用多重背景图像。 浏览器支持 表格中的数字表示支持该属性的第一个浏览器版本号。 紧跟在 -webkit-, -ms- 或 -moz- 前的数字为支持

  • CSS3 渐变(gradients)可以让你在两个或多个指定的颜色之间显示平稳的过渡。 以前,你必须使用图像来实现这些效果。但是,通过使用 CSS3 渐变(gradients),你可以减少下载的事件和宽带的使用。此外,渐变效果的元素在放大时看起来效果更好,因为渐变(gradient)是由浏览器生成的。 CSS3 定义了两种类型的渐变(gradients): 线性渐变(Linear Gradient

  • 什么是渐变? 渐变显示两种或多种颜色的组合,如下所示 - 渐变的类型 线性渐变(向下/向上/向左/向右/对角线) 径向梯度 线性渐变 线性渐变用于以线性格式(如从上到下)排列两种或更多种颜色。 从上到下 <html> <head> <style> #grad1 { height: 100px; background