当子元素的父元素悬停在其上方时,我试图暂停子元素的显示。
Html:
<span>
<div>This Is The Child</div>
Some Text in the span
</span>
Css:
span {
position: relative;
}
span div {
display: none;
width: 0px;
opacity: 0;
transition: width 5s;
-webkit-transition: width 5s;
transition: opacity 5s;
-webkit-transition: opacity 5s;
}
span:hover div {
display: inline-block;
width: 150px;
opacity: 1;
}
截至目前,当跨度悬停时,div 在显示之前没有延迟。我该如何修复它以便有一个暂停?
在这里小提琴:http://jsfiddle.net/SReject/vmvdK/ http://jsfiddle.net/SReject/vmvdK/
一些注意事项:
我最初尝试转换显示,但正如爱德华指出的那样,这是不可能的,并且尝试了上面的方法,但也不起作用
SOLVED
看起来“过渡到”样式中的任何“显示”属性都会阻止任何过渡动画的发生。解决这个问题。我将要显示的子项的宽度设置为 0px 并使其完全透明。然后在“过渡到”样式中,我设置了正确的宽度,并使 div 变为实心:
Html:
<span>
<div>This Is The Child</div>
Some Text in the span
</span>
Css:
span {
position: relative;
}
span div {
position: absolute;
width: 0px;
opacity: 0;
transition: opacity 5s;
-webkit-transition: opacity 5s;
}
span:hover div {
width: 150px;
opacity: 1;
}
在这里小提琴:http://jsfiddle.net/SReject/vmvdK/ http://jsfiddle.net/SReject/vmvdK/