我有一个DIV,我想把一个模式作为背景。这种模式是灰色的。所以为了让它更好看一些,我想把一个透明的颜色“层”放在上面。以下是我尝试过的但没有奏效的。有没有办法将彩色图层放在背景图片上?预先感谢您的回复。干杯。马克。背景图像上的半透明颜色层?
这里是我的CSS:
background: url('../img/bg/diagonalnoise.png');
background-color: rgba(248, 247, 216, 0.7);
我有一个DIV,我想把一个模式作为背景。这种模式是灰色的。所以为了让它更好看一些,我想把一个透明的颜色“层”放在上面。以下是我尝试过的但没有奏效的。有没有办法将彩色图层放在背景图片上?预先感谢您的回复。干杯。马克。背景图像上的半透明颜色层?
这里是我的CSS:
background: url('../img/bg/diagonalnoise.png');
background-color: rgba(248, 247, 216, 0.7);
这就是:
.background {
background:url('../img/bg/diagonalnoise.png');
position: relative;
}
.layer {
background-color: rgba(248, 247, 216, 0.7);
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
HTML此:
<div class="background">
<div class="layer">
</div>
</div>
当然,你需要定义的宽度和高度与.background
类,如果里面没有其他元素的话
然后,您需要使用bg图像和它与背景颜色的内容元素的包装元素:
<div id="Wrapper">
<div id="Content">
<!-- content here -->
</div>
</div>
和CSS:
#Wrapper{
background:url(../img/bg/diagonalnoise.png);
width:300px;
height:300px;
}
#Content{
background-color:rgba(248,247,216,0.7);
width:100%;
height:100%;
}
见我的答案在https://stackoverflow.com/a/18471979/193494进行了全面的概述可能的解决方案:
请不要张贴链接作为答案。把相关代码放在这里,但链接到你复制它的源代码。 – Blazemonger 2014-12-17 16:14:26
试试这个。适用于我。
.background {
background-image: url(images/images.jpg);
display: block;
position: relative;
}
.background::after {
content: "";
background: rgba(45, 88, 35, 0.7);
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 1;
}
.background > * {
z-index: 10;
}
这是一个非常好的答案,不需要额外的HTML元素。谢谢! – patr1ck 2014-02-23 21:15:59
我知道这是一个非常古老的线程,但它显示在谷歌的顶部,所以这里有另一种选择。
这是纯粹的CSS,不需要任何额外的HTML。
box-shadow: inset 0 0 0 1000px rgba(0,0,0,.2);
有针对的box-shadow功能使用数量惊人的。
从CSS-技巧...有一个一步到位的方式来做到这一点没有Z-索引和添加伪elements--需要线性渐变,我觉得意味着你需要支持CSS3
.tinted-image {
background:
/* top, transparent red */
linear-gradient(
rgba(255, 0, 0, 0.45),
rgba(255, 0, 0, 0.45)
),
/* your image */
url(image.jpg);
}
这个效果很好,但是如果你想脉冲一种颜色,你不能创建渐变效果,不要以为这是可能的任何方法。 – sricks 2015-09-09 21:48:45
我在这个元素上设置了'background-size:cover;'和'background-position:center center;'。这似乎取消了这种效果。 – Solace 2015-11-03 13:39:01
使用背景大小:封面;后。至少在铬上。 – davidbonachera 2016-11-07 03:38:00
我我已经使用这种方法将颜色色调以及渐变应用于图像,以便在无法控制图像颜色配置文件时使动态重叠文本更容易识别。你不必担心z-index。
HTML
<div class="background-image"></div>
SASS
.background-image {
background: url('../img/bg/diagonalnoise.png') repeat;
&:before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(248, 247, 216, 0.7);
}
}
CSS
.background-image {
background: url('../img/bg/diagonalnoise.png') repeat;
}
.background-image:before {
content: '';
position: absolute;
top: 0;
bottom: 0;
right: 0;
left: 0;
background: rgba(248, 247, 216, 0.7);
}
希望它可以帮助
这有效,但你需要改变第二个“left:0;”到“底部:0” – 2015-10-13 08:49:49
这应该是公认的答案,因为它避免了不必要的元素创建。只要确保你的.background-image'div'至少有一个位置:relative – mjsarfatti 2016-09-05 08:52:33
为什么这么复杂?你的解决方案几乎是正确的,除了这是一种更容易的方式使图案透明和背景色固体。 PNG可以包含透明胶片。因此,使用photoshop将图案设置为70%并保留图片以使图案透明。那么你只需要一个选择器。作品跨浏览器。
CSS:
.background {
background: url('../img/bg/diagonalnoise.png');/* transparent png image*/
background-color: rgb(248, 247, 216);
}
HTML:
<div class="background">
...
</div>
您还可以使用线性渐变和图像: http://codepen.io/anon/pen/RPweox
.background{
background: linear-gradient(rgba(0,0,0,.5), rgba(0,0,0,.5)),
url('http://www.imageurl.com');
}
这是因为线性渐变函数创建一个添加到背景堆栈的图像。 https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient
这适用于我,我正在使用fullpage.js – 2015-07-31 07:50:16
.background
{
background: linear-gradient(rgba(248, 247, 216, 0.7), rgba(248, 247, 216, 0.7)), url('../img/bg/diagonalnoise.png') no-repeat center fixed;
background-size:cover;
}
你能再解释一下这是怎么回事? – patrick 2017-08-22 17:09:44
虽然答案总是值得赞赏的,但是这个问题在5 **年前被问过,并且已经有了一个可以接受的解决方案。请尽量避免将问题顶到问题的顶端,除非问题还没有被标记为已解决,或者您发现了一个新的改进的问题解决方案。还请记住提供一些[**代码围绕您的代码**](https://meta.stackexchange.com/questions/114762)来帮助解释它。查看关于如何让你的答案数的一些技巧的[**写出很好的答案**](http://stackoverflow.com/help/how-to-answer)上的文档:) – 2017-08-23 02:17:51
可以使用半透明像素,它可以生成例如here,甚至用base64 下面是白色的50%为例:
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8Xw8AAoMBgDTD2qgAAAAASUVORK5CYII=),
url(../img/leftpanel/intro1.png);
background-size: cover, cover;
而不上传
没有额外的html
我想加载应该比盒子阴影或线性渐变更快
绝对没有理由相对和绝对定位。 – 2012-02-07 20:08:31
啊,是的,当然,我有点进入模式弹出,不知道为什么。你的答案当然更清洁,更容易。 – 2012-02-07 20:11:42
@JohannesKlauß他的答案如何更清晰和更容易?它不起作用,至少对我来说是这样。 – DannyG 2015-06-04 18:53:52