我有一个列表div,其不透明度设置为50,在此div中我想显示一些不透明度为100的文本,
这就是我的意思:
<div id="outer">
<div id="inner">
Text
</div>
</div>
CSS将是:
#outer {
opacity: 0.5;
}
#inner {
opacity: 1.0;
}
我试过了,但它不起作用。
请帮助
此致
答案 0 :(得分:18)
一个简单且兼容的解决方案是删除所有opacity
,然后使用:
#outer {
background: url(50%-transparent-white.png);
background: rgba(255,255,255,0.5)
}
rgba
的浏览器将使用background
的第二个rgba
声明。background
声明并使用.png
。 .png
在IE6中不起作用,但unlikely是问题。如果是,it can be resolved。
此处详述了另一种方法:
答案 1 :(得分:12)
有两种方法可以做到这一点:一种是将容器的背景颜色设置为透明颜色,rgba(r,g,b,.5)
- 但是,这是CSS3,仅在较新的浏览器中支持。
另一种方法是在容器内放置绝对定位的div,不透明度为.5。
<div class="backgroundOpacity">
My Epic Content
</div>
<br/>
<div class="backgroundDiv">
<div id="background"> </div>
My Other Epic Content
</div>
.backgroundOpacity {
background-color:rgba(0,0,0,.5);
}
.backgroundDiv {
position:relative;
}
#background {
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background-color:#000;
opacity: .5;
}
答案 2 :(得分:4)
background-color: rgba(0,0,0,0.5);
答案 3 :(得分:2)
您可以像这样设置外部div
background-color: rgba(0, 0, 0, 0.8);
opacity: inherit;
答案 4 :(得分:0)
这可以通过一个技巧来完成,它很容易,这是如何:
你想把文字带到透明div之外,然后让另一个div作为位置:相对;