当光标悬停在左侧div时,我需要重叠整个包装器,除了左侧div,黑色,不透明度为0.2。
我怎样才能在css中这样做?感谢。
<div id="wrapper">
<div id="left">... some elements</div>
<div id="right">... some elements</div>
</div>
答案 0 :(得分:3)
你可以通过使用.controller('ClientEditController',
function ($scope, $location) {
$scope.cancel = function() {
if (//I would check if modal mode) {
$scope.$dismiss('cancel');
} else {
$location.path("/client/list");
}
};
});
颜色来应用非常大的box-shadow
黑色并且具有0.2不透明度。
容器(rgba()
)必须有#wrapper
才能隐藏多余的阴影。
overflow: hidden
&#13;
#wrapper {
border:1px solid red;
padding: 1em;
overflow: hidden;
}
#wrapper > div {
border: 1px solid blue;
}
#left:hover {
box-shadow: 0 0 10em 10em rgba(0,0,0,0.2);
}
&#13;
jsFiddle:https://jsfiddle.net/azizn/sfq252g5/
答案 1 :(得分:3)
您可以使用通用兄弟组合子(〜)和具有绝对位置的div来获得此效果。在该示例中,您将选择具有“.bgr”类的div,该类位于悬停的孩子之后并使其成为粉红色/蓝色。
#wraper {
position:relative;
width:200px;
height:200px;
}
.bgr {
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:#fff;
padding:30px;
}
#left, #right {
position:relative;
z-index:1;
width:200px;
height:100px;
border:1px solid #333;
margin:20px;
}
#left{
background:#fff;
}
#right{
background:#f1f1f1;
}
#left:hover {
background:#f9f9f9;
}
#right:hover {
background:#f9f9f9;
}
#left:hover ~ .bgr {
background:blue;
}
#right:hover ~ .bgr {
background:pink;
}
<div id="wrapper">
<div id="left"> ... some elements </div>
<div id="right"> ... some elements </div>
<div class="bgr"></div>
</div>