CSS重复背景图像但不重复线性渐变

标签 css background-image overlay repeat linear-gradients

我有一个很酷的噪音叠加 PNG,我想用在我的网站上。 但是,背景图像是线性渐变。 如果我允许背景重复,它会正确覆盖 PNG,但如果页面内容比屏幕尺寸短,它也会重复渐变,这看起来很糟糕。

有没有一种方法可以使用 CSS 重复 PNG 叠加层,但不是线性渐变?

BODY {
background-color:#dedede;
background-image: url(icons/noise_overlay.png)
                , linear-gradient(
                      #c0bbbb
                    , #efefef 25em
                    , #efefef calc(100% - 15em)
                    , #dedede
                  );
background-repeat:no-repeat;
}

最佳答案

您可以用逗号分隔每个背景的背景属性

BODY {
background-color:#dedede;
background-image: url(icons/noise_overlay.png)
                , linear-gradient(
                      #c0bbbb
                    , #efefef 25em
                    , #efefef calc(100% - 15em)
                    , #dedede
                  );
background-repeat:repeat, no-repeat;
}

关于CSS重复背景图像但不重复线性渐变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23266758/

相关文章:

html - 防止加载整个 CSS 样式表 - 只加载需要的内容?

javascript - 在通过 CSS 转换元素的尺寸时获取元素的(最终)高度

css - 带背景图片的维恩图,添加链接?

window - 处理,保持窗口在顶部/覆盖

ios - 基于 drawRect 的 UIView 的大小

html - 未应用 HTML5 "article"标记上的第一个子项和第 n 个子项选择器

javascript - 忽略行 Gulp-Uncss

CSS :before Pseudo-element not displaying background-image with IE8

css - 如何使用 CSS 为移动设备缩放背景图像?

objective-c - 将徽章添加到 Finder 中的文件图标