问问题
7017 次
3 回答
2
不透明度将始终影响所有子元素。
如果您只是想淡出纯色背景色,则可以使用带有 alpha 通道的颜色,例如rgba()
or hsla()
,但是:
CSS
#container.test {
background: rgba(255, 0, 0, 0.5); /* 0.5 = 50% transparency */
}
JavaScript
$(function() {
$('#john').mouseenter(function() {
$('#container').addClass("test");
}).mouseleave(function () {
$('#container').removeClass("test");
});
});
于 2013-04-30T13:38:16.453 回答
1
在你的 mouseenter 调用 put
$('#container').css({'opacity' : '.4'});
您需要将其他 2 个 div 移出容器 div 才能执行此操作,因为它会影响所有子项,您可以将其设置为绝对值,然后将其他 2 个 div 移到它上面。它很脏,但会起作用。
于 2013-04-30T13:40:08.613 回答
0
不,这是不可能的,除非孩子们位于它的容器之外。选项:
像其他答案一样使用
rgba()
,但它不能完全透明;使用
.png
img,并在悬停时将其替换为透明的。喜欢:$('selector').hover( function () { $(this).parent().css("background-image", "url('transparent.png')"); }, function () { $(this).parent().css("background-image", "url('normal.png')"); } );
于 2013-04-30T13:40:41.093 回答