背景图像灰度

时间:2015-11-07 11:01:09

标签: html css

我在网站上的背景我使用颜色,在顶部我有一个图像。 我想用css将这张图片变成黑白:

body {
    background: url('background.jpg') center top no-repeat;
    -webkit-filter: grayscale(100%);
}

但是这段代码使整个网站成为灰度

我还尝试将网站内容放到风格为-webkit-filter: none;的新div中,但它既不起作用。

3 个答案:

答案 0 :(得分:2)

还有另一种不使用d2使用覆盖div的解决方案。

所有主流浏览器https://caniuse.com/?search=background-blend-mode(IE除外)都支持此功能

background-blend-mode

答案 1 :(得分:1)

你可以试试覆盖<body>的不同div 像这样

#overlay {
    background: url('background.jpg') center top no-repeat;
    -webkit-filter: grayscale(100%);
    z-index: -1;
    opacity: 0.5; /*make it as your requirement*/
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
}

你的html看起来像

<body>
    <div id="overlay"></div>
    <!-- other body elements -->
</body>

答案 2 :(得分:-1)

这是jsx语法中的块样式(来自reactjs-application)。我不知道那里发生了什么,但似乎可行

            style={{
                minHeight: '100vh',
                backgroundPosition: 'center',
                backgroundSize: 'cover',
                backgroundImage:"linear-gradient(black, black), url('images/bgimage.jpg')",
                backgroundBlendMode: 'saturation'
            }}