这是我的(简化)情况:
单击该按钮可启动扩展div高度的动画。当div正在扩展时,:after
伪元素(包含文本'look')消失,然后在动画结束时重新出现。
有没有办法防止伪元素消失,以便它在整个动画中可见?
答案 0 :(得分:12)
将“溢出”CSS规则添加到#main并将其设置为“visible!important;”
#main{
width: 200px;
height: 200px;
background-color: #eee;
border: 1px solid black;
overflow:visible !important;
}
答案 1 :(得分:1)
我重写它使用了CSS3过渡:
JS(为了更快,您可以将其更改为vanilla js):
$(function(){
$("#clicky").click(function(){
$("#main").addClass('animate');
});
});
<强> CSS:强>
#main{
width: 200px;
height: 200px;
background-color: #eee;
border: 1px solid black;
-webkit-transition: height 2s linear;
}
#main:after{
content: "look";
height: 50px;
background-color: white;
margin-left: 210px;
border: 1px solid black;
}
#main.animate{
height: 500px;
}