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

如何在同一元素上组合背景图像和CSS3渐变?

施冠玉
2023-03-14
问题内容

如何为我使用CSS3渐变background-color,然后应用background-image来应用某种透光的纹理?


问题答案:

多个背景!

body {

  background: #eb01a5;

  background-image: url("IMAGE_URL"); /* fallback */

  background-image: url("IMAGE_URL"), linear-gradient(#eb01a5, #d13531); /* W3C */

}

对于没有进行渐变的任何浏览器,这两行都是后备。请参阅以下有关仅堆叠IE <9的图像的注意事项。

  • 第1行设置了平坦的背景色。
  • 第2行设置了背景图片后备广告。

最后一行为可以处理这些背景的浏览器设置了背景图片和渐变。

  • 第3行适用于所有相对较新的浏览器。

几乎所有当前的浏览器都支持多个背景图像和CSS背景。有关浏览器支持,请参见http://caniuse.com/#feat=css-
gradients
。有关为什么不需要多个浏览器前缀的文章,请参见http://codepen.io/thebabydino/full/pjxVWp/

层堆叠

应当注意,第一个定义的图像将在堆栈中位于最顶层。在这种情况下,图像位于渐变的TOP上。

有关背景分层的更多信息,。

仅堆叠图像(声明中没有渐变)对于IE<9IE9及更高版本可以以相同方式堆叠图像。您可以使用它为ie9创建一个渐变图像,尽管我个人不会。但是要注意的是,仅使用图像时,即<9将忽略后备语句,并且不显示任何图像。当包含渐变时,不会发生这种情况。在这种情况下,要使用单个后备图像,建议您将PaulIrish的出色的Conditional HTML元素与后备代码一起使用:

.lte9 #target{ background-image: url("IMAGE_URL"); }

背景位置,大小等

适用于单个图像的其他属性也可以用逗号分隔。如果仅提供1个值,它将应用于包括梯度在内的所有堆叠图像。background-size:40px;会将图片和渐变都限制为40px的高度和宽度。但是,使用background-size:40px,cover;将使图像变为40px,渐变将覆盖该元素。要将设置仅应用于一个图像,请为另一图像设置默认值:background-position: 50%,0 0;或为支持该设置的[浏览器]使用initialbackground-position: 50%, initial;

您也可以使用背景速记,但这会删除后备颜色和图像。

body{
    background: url("IMAGE_URL") no-repeat left top, linear-gradient(#eb01a5, #d13531);
}

背景位置,背景重复等也是如此。



 类似资料:
  • 如图所示,渐变背景倾斜平铺

  • 问题内容: 我有一个正在编写的CSS页面,我需要在一个类中应用背景图像,然后使用另一个类将一个局部透明的背景图像放在已经存在的背景图像之上。这只是一个简单的字眼,所以让我做一个示范。 在此示例中,第一个div应该具有背景图像1,第二个div应该具有背景图像1,但是滤镜图像位于其顶部,然后第三个div应该是图像2,第四个应该是图像2并且上面具有相同的滤镜。 但是,在此示例中,.backgroundF

  • 问题内容: 我正在尝试在CSS上的缩略图上进行悬停过渡,以便在悬停时淡入背景渐变。过渡不起作用,但是如果我简单地将其更改为一个值,则可以正常工作。不支持渐变吗?我也尝试过使用图像,它也不会转换图像。 我知道这是有可能的,就像在另一篇文章中有人做的那样,但我不知道该怎么做。任何帮助>以下是一些可使用的CSS: 问题答案: 渐变尚不支持过渡(尽管当前规范说,它们应支持渐变,例如通过插值进行渐变过渡)。

  • 我正在尝试创建背景色CSS3关键帧动画后的第一个动画,这是一个背景图像。我无法创建另一个动画后,文字动画淡出。文本动画褪色后,我想背景的不透明度转到0.3,并再次褪色在文本。下面是我所拥有的。 请在此处查看完整代码:codepen:https://codepen.io/imdaone/pen/jjryyv

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

  • 我有一个像素。我如何使用它来获得与具有相同的效果?