我希望在用户将鼠标悬停在图像上时突出显示该图像。
要做到这一点,我想在其他所有内容上叠加一下(或者老实说,我很乐意在包括图像在内的所有内容上叠加,然后再添加一些东西来照亮图像。)
如果没有JS,有没有这样做呢?我很高兴使用JS解决方案,如果可以的那样,但我想知道是否有任何可以设法做到这一点的CSS技巧。
HTML示例如下:
<body>
<div>
<Other Elements />
<img src="...." />
</div>
</body>
除了 <img>
标记外,所有内容都会变暗。
答案 0 :(得分:0)
您可以使用兄弟选择器:.container img:hover ~ .overlay {
background-color: rgba(0,0,0,0.8);
}
body {
}
.container {
position: relative;
text-align: center;
margin: 10px auto 0;
padding-bottom: 10px;
}
.container .other {
display: inline-block;
margin: 20px 10px 10px;
width: 100px;
height: 100px;
background-color: darkorange;
z-index:1;
}
.container img {
display: inline-block;
margin: 10px 10px 10px;
z-index:1;
position: relative;
transition: all 300ms ease;
}
.overlay {
background-color: rgba(0,0,0,0);
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
pointer-events: none;
z-index:1;
transition: all 300ms ease;
}
.container img:hover ~ .overlay {
background-color: rgba(0,0,0,0.8);
}
.container img:hover {
z-index: 2;
transform: scale(1.1);
cursor: pointer;
}
&#13;
<body>
<div class="container">
<div class="other"></div>
<div class="other"></div>
<img src="http://lorempixel.com/100/100/food/1" />
<div class="other"></div>
<img src="http://lorempixel.com/100/100/food/2" />
<div class="other"></div>
<img src="http://lorempixel.com/100/100/food/3" />
<img src="http://lorempixel.com/100/100/food/4" />
<div class="overlay"></div>
</div>
</body>
&#13;