在您的示例中,使用百分比不起作用。
解决方案1
:您需要在
@keyframes
就像这样:
function hide() {
var li = document.getElementById("game");
game.classList.add("hide")
}
.hide {
height: 0;
overflow: hidden;
animation-name: example;
animation-duration: 1s;
}
@keyframes example {
0% {
height: 40px;
}
25% {
height: 30px;
}
50% {
height: 20px;
}
100% {
height: 0px;
}
}
<ul>
<li>A</li>
<li onclick="hide()">b</li>
<li id="game">
<ul>
<li>1</li>
<li>2</li>
</ul>
</li>
</ul>
解决方案2:
向父级添加固定高度
<ul>
元素,然后可以在
@keyframe
是这样的:
函数hide()。{
var li=document.getElementByID(“游戏”);
game.classlist.add(“隐藏”)
}
.hide {
height: 0;
overflow: hidden;
animation-name: example;
animation-duration: 1s;
}
ul {
height: 200px;
}
@keyframes example {
0% {
height: 100%;
}
25% {
height: 75%;
}
50% {
height: 50%;
}
100% {
height: 0%;
}
}
<UL & GT;
<li>A</li>
<li onclick=“hide()”>b</li>
<li id=“game”>
<ul>
<li>1</li>
<li>2</li>
</ul>
</li>
</ul>
Here is an article
关于这个问题的细节。