有没有一种方法可以使元素的背景不受不透明度的影响?
即我有一个jQuery手风琴,当单击/悬停特定element(li)不透明度的内容时,它会更改,从而使您看到下面的其他元素。
我想知道是否可以更改它,所以每个列表元素上都有一个不褪色的纯白色背景?
一些代码:
<div id="accord_container"><div id="accord">
<ul>
<li><a id="a1"><img src="img/accord/1.jpg" /></a></li>
<li><a id="a2"><img src="img/accord/3.jpg" /></a></li>
<li><a id="a3"><img src="img/accord/7.jpg" /></a></li>
<li><a id="a4"><img src="img/accord/8.jpg" /></a></li>
</ul>
</div></div>
#accord_container{width:930px; margin:0px auto;}
#accord{height:480px; overflow:hidden; margin:5px; position:relative; cursor:pointer;}
#accord ul{position:relative; list-style:none; margin:0; padding:0;}
#accord ul li{float:left; display:block; margin-right:0px; background-color:#FFF;}
#accord ul li a{display:block; overflow:hidden; height:480px; width:72px; opacity:0.75; -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=75)"; filter:alpha(opacity=75);}
#accord ul li img{position:absolute;}
#a1{width:700px; opacity:1.0; -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; filter:alpha(opacity=100);}
$(document).ready(function(){
lastBlock = $("#a1");
maxWidth = 700;
minWidth = 72;
$("#accord ul li a").click(
function(){
if(lastBlock.id == this.id || (lastBlock.id == undefined && this.id == "a1")){
if(this.rel){
window.location=this.rel;
}
}else{
$(lastBlock).animate({width: minWidth+"px", opacity: 0.75}, { queue:false, duration:400});
$(this).animate({width: maxWidth+"px", opacity: 1.0}, { queue:false, duration:400});
lastBlock = this;
}
}
);
$("#a1").animate({width: maxWidth+"px", opacity: 1.0}, { queue:false, duration:400});
});
最佳答案
您只需要包装内容即可。因此,如果您具有以下结构(仅作为示例):
<div class="hasBackground">
<div class="theContent">
</div>
</div>
然后,您可以设置内部div的不透明度,而不会影响具有背景的外部div。
关于css - 背景不透明度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7011052/