【发布时间】:2017-07-05 11:37:12
【问题描述】:
我有一个元素是 visibility: hidden 直到悬停在上面,在不透明度上有一个过渡以实现漂亮的淡入淡出。问题是淡入淡出仅以一种方式起作用,因为当元素立即变为visibility: hidden 时,它隐藏了不透明度过渡。我该如何解决这个问题?
编辑:需要明确的是,在激活悬停之前,元素具有visibility: hidden 很重要。带有opacity: 0 的元素可以交互,而带有visibility: hidden 的元素则不能。
示例如下。注意弹出窗口是如何淡入而不是淡出的。
.hover {
display: inline-block;
position: relative;
}
.label {
width: 80px;
border: 1px solid black;
padding: 20px;
}
.popup {
width: 90px;
padding: 15px;
position: absolute;
top: 100%;
border: 1px dashed black;
cursor: pointer;
visibility: hidden;
opacity: 0;
transition: opacity 3s;
}
.hover:hover .popup {
visibility: visible;
opacity: 1;
}
<div class="hover">
<div class="label">Hover me</div>
<div class="popup">I am only visible on hover</div>
</div>
【问题讨论】:
标签: css css-transitions