是否可以,仅使用CSS,使background元素半透明但元素的内容(文本和图像)不透明?
我想在不将文本和背景作为两个单独元素的情况下实现此目的.
尝试时:
p {
position: absolute;
background-color: green;
filter: alpha(opacity=60);
opacity: 0.6;
}
span {
color: white;
filter: alpha(opacity=100);
opacity: 1;
}Run Code Online (Sandbox Code Playgroud)
<p>
<span>Hello world</span>
</p>Run Code Online (Sandbox Code Playgroud)
看起来子元素受父母的不透明度影响,因此opacity:1相对于opacity:0.6父元素而言.
是否可以在不影响子元素不透明度的情况下设置背景图像的不透明度?
页脚中的所有链接都需要一个自定义项目符号(背景图像),自定义项目符号的不透明度应为50%.
<div id="footer">
<ul>
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
<li><a href="#">Link 3</a></li>
<li><a href="#">Link 4</a></li>
<li><a href="#">Link 5</a></li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
#footer ul li {
background: url(/images/arrow.png) no-repeat 0 50%;
}
Run Code Online (Sandbox Code Playgroud)
我尝试将列表项的不透明度设置为50%,但是链接文本的不透明度也是50% - 并且似乎没有办法重置子元素的不透明度:
#footer ul li {
background: url(/images/arrow.png) no-repeat 0 50%;
/* will also set the opacity of the link text */
opacity: 0.5;
}
Run Code Online (Sandbox Code Playgroud)
我也尝试过使用rgba,但这对背景图片没有任何影响:
#footer ul li {
/* rgba doesn't apply to the background image */
background: rgba(255, 255, 255, …Run Code Online (Sandbox Code Playgroud) 我没有使用CSS3.所以我不能使用opacity或filter属性.如果不使用这些属性,我怎样才能使background-color透明化div?它应该是此链接中的文本框示例.此处文本框背景颜色是透明的.我想做同样的事,但不使用上面提到的属性.