我正在尝试使用div来悬停图像淡出(因此你只能看到背后的灰色背景)并且一些文本淡入。我一直在尝试使用CSS过渡来做这个,但是不透明度不会似乎改变了(即我仍然可以看到背景图像)。
HTML:
<div id='options'>
<div class='option'>
<div class='back-option'>
</div>
<div class='front-option'>
Add post
</div>
</div>
</div>
CSS:
#options {
font-family: 'Segoe UI', 'Arial', sans-serif;
}
.option {
position: relative;
width: 6.25em;
height: 6.25em;
border-radius: 5px;
cursor: pointer;
background-color: #363636;
}
.back-option {
position: absolute;
width: 6.25em;
height: 6.25em;
border-radius: 5px;
background-image: url(http://png-5.findicons.com/files/icons/2672/pixel_ui/16/add.png);
background-size: contain;
-webkit-box-shadow: inset 0px 0px 0px 2px rgba(0,0,0,0.75);
-moz-box-shadow: inset 0px 0px 0px 2px rgba(0,0,0,0.75);
box-shadow: inset 0px 0px 0px 2px rgba(0,0,0,0.75);
opacity: 1;
transition: opacity 0.5s;
}
.back-option:hover {
opacity: 0;
}
.front-option {
position: absolute;
width: 6.25em;
height: 6.25em;
border-radius: 5px;
color: #FFFFFF;
font-weight: bold;
text-align: center;
line-height: 6.25em;
opacity: 0;
transition: opacity 0.5s;
}
.front-option:hover {
opacity: 1;
}
这是JSBin of it。
答案 0 :(得分:1)
由于div位于顶部,因此悬停不会触发。我只是修改了css来检测其父节点上的悬停。
.option:hover .back-option {
opacity: 0;
}
答案 1 :(得分:0)
.back-option
没有事件鼠标悬停,导致另一个元素超过它。
做
#options:hover .back-option {
opacity: 0;
}
它会起作用。
你也可以background-color
给.front-option
,站在最前面,然后删除.back-option