【发布时间】:2012-06-02 16:40:39
【问题描述】:
我想要一个来自 URL 的背景图片(所以我不能手动编辑它的不透明度)
具有低不透明度并在其上写入内容:
但内容应该是正常的 1 不透明度
http://jsfiddle.net/ca11111/BAJN5/
编辑:http://jsfiddle.net/ca11111/BAJN5/1/ 稍微好一点
【问题讨论】:
标签: css background-image opacity
我想要一个来自 URL 的背景图片(所以我不能手动编辑它的不透明度)
具有低不透明度并在其上写入内容:
但内容应该是正常的 1 不透明度
http://jsfiddle.net/ca11111/BAJN5/
编辑:http://jsfiddle.net/ca11111/BAJN5/1/ 稍微好一点
【问题讨论】:
标签: css background-image opacity
看到我已经通过伪元素 :before & :after
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
}
【讨论】:
opacity 属性被继承。如果您为一个元素设置了opacity opacity 设置该 您无法更改此值。
实现您想要的最简单的方法是使用多个背景并在您的图像顶部添加一个半透明背景。当然,这会引发一些浏览器兼容性问题(参见multiple backgrounds support 和gradient support)。
此处的示例:http://dabblet.com/gist/2818293(应该在 IE10、Opera 11+ 和其他桌面浏览器的所有非恐龙版本中工作)
也可以选择不在父元素上设置背景,而是在没有自己子元素的子元素(或伪元素)上设置背景,即绝对定位并具有z-index rgba 背景)。
【讨论】:
rgba(255,255,255,0),您应该可以看到图像的原样。列出的第一个背景是应用在顶部的背景。 rgba(255,255,255,0) 表示完全透明。因此,如果顶部的背景是完全透明的,您应该会看到下面的原样;好像上面没有其他背景一样。
你的意思是这样的? 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>
【讨论】:
嘿,我想你应该想要这个
定义你的 Main Div rgba 属性
div {
background: rgba(200, 54, 54, 0.5);
}
【讨论】:
This page 展示了一种使用伪元素模拟背景图像不透明度的技术
【讨论】: