我想从网址中获取背景图片(因此我无法手动编辑其不透明度)
具有低不透明度并在其上面写入内容:
但内容应该是正常的1不透明度
答案 0 :(得分:2)
继承opacity
属性。如果设置opacity
< 1对于一个元素,它的所有子元素也将具有< opacity
和的1个值,您无法更改此。
实现目标的最简单方法是使用多个背景,并在图像上方设置半透明背景。当然,这会引发一些浏览器兼容性问题(请参阅multiple backgrounds support和gradient support)。
示例:http://dabblet.com/gist/2818293(适用于IE10,Opera 11+和其他桌面浏览器的非恐龙版本)
还可以选择不在父级上设置背景,而是在没有子级(或伪元素)的子级上设置背景,绝对定位并且具有z-index
<而不是父母(具有rgba
背景)。
答案 1 :(得分:1)
你的意思是这样的? http://jsfiddle.net/BAJN5/2/
尝试以这种方式设置:
<div style="position:relative"> <!-- wrapper div (relative) -->
<div style="background:url(an-image-url) no-repeat center center; opacity:0.5; height:220px"></div> <!-- half opacity background -->
<span style="opacity:1; position:absolute; z-index:1"><!-- full opacity (absolute) -->
some text
......
</span>
</div>
答案 2 :(得分:1)
看我通过伪元素做过:之前和之后:之后
<强> HTML 强>
<div class="addFav">
<div>asdfasfasfafs</div>
</div>
<强> CSS 强>
.addFav:before {
background:url(http://lorempixel.com/400/200/sports) no-repeat;
border:1px solid red;
height:200px;
width:400px;
color:#000;
padding:15px;
position:absolute;
content:"";
opacity:0.1;
}
.addFav {
height:200px;
width:400px;
color:red;
padding:15px;
position:relative
}
请参阅演示: - http://jsfiddle.net/8LFLd/66/
答案 3 :(得分:0)
This page显示了使用伪元素
模拟背景图像不透明度的技术答案 4 :(得分:0)
嘿,我认为你应该想要这个
定义主分区 rgba 属性
div {
background: rgba(200, 54, 54, 0.5);
}