我想知道“如何在不更改div内容的情况下更改背景图像的不透明度?”
我搜索过多&我找不到解决这个问题的好答案!
HTML
<div class="div-1">
<h2>title</h2>
<p>text</p></div>
CSS
.div{
position:relative;
width:200px;
height:200px;
float:left;
color:white;
background:#7a8586 url('url') no-repeat local right;
overflow:hidden;
text-align: justify;
font-family:arial;
font-size:14px;}
答案 0 :(得分:9)
因为元素的所有子元素都受其CSS的影响,所以不能简单地设置背景图像的不透明度,但是,有几种解决方法:
不要在事后设置背景图像的不透明度,只需在您喜欢的图像编辑器(try gimp, it's free!)中使背景图像透明,并将其保存为具有透明度的图像(如PNG)。
如果使父元素具有相对定位并将子元素绝对定位在内部,则将它们从流中取出,它们不会受到父元素的不透明度的影响。 [Source]
如果您将内容与父级分开并使两个元素成为兄弟姐妹,则可以使用z-indexing将父级元素放在父级上,并设置父级的不透明度而不影响子级。
还有更多,但其中一个应该能得到你想要的东西。
答案 1 :(得分:7)
<强> DEMO 强>
您可以在伪元素之后使用背景图像。
的CSS:
.has-bg-img{
position: relative;
}
.has-bg-img:after {
content:'';
background: url('http://placehold.it/500x100') no-repeat center center;
position: absolute;
top:0px;
left: 0px;
width:100%;
height:100%;
z-index:-1;
opacity: 0.2; /* Here is your opacity */
}
答案 2 :(得分:4)
没有CSS属性background-opacity,但你可以通过插入一个具有常规不透明度的伪元素来伪造它,后面是元素的确切大小。
检查完成情况 http://css-tricks.com/snippets/css/transparent-background-images/
答案 3 :(得分:0)
你可以试试这个......
<div style="position:relative; ">
<div style=" background-image:url(url); opacity:0.5;filter:alpha(opacity=40);height:520px; width:520px;"></div>
<div style="position:absolute; top:10px; z-index:100;left:10px;height:500px;idth:500px;">
Your Div Contents are Here..................
</div>
</div>