【发布时间】:2020-04-25 15:18:45
【问题描述】:
let skillList = $('#Skills>ul>li');
skillList.on('click',expandSkillList);
function expandSkillList(event){
let firstChild = $(this).children(':first');
firstChild.toggleClass('minimized');
}
#Skills{
background-color:darkgrey;
color:#fff;
}
ul{
text-align:left;
}
li ul{
height:100%;
transition:height 0.5s;
overflow-y:hidden;
}
ul.minimized{
height:0px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<section id="Skills">
<h1>SKILLS</h1>
<ul>
<li>LANGUAGE
<ul class="minimized">
<li>HTML5</li>
<li>CSS3</li>
<li>JAVASCRIPT</li>
<li>PHP</li>
</ul>
</li>
<li>FRAMEWORK/LIBRARY
<ul class="minimized">
<li>JQUERY</li>
<li>BOOTSTRAP</li>
<li>REACTJS</li>
</ul>
</li>
<li>TOOL
<ul class="minimized">
<li>WORDPRESS</li>
</ul>
</li>
</ul>
</section>
这是我的代码 sn-p,上面代码中的转换不起作用。如果我将 100% 更改为某个像素单位,它工作正常,但是当我想从高度 0 过渡到高度 100% 时如何进行过渡?
How can I transition height: 0; to height: auto; using CSS?
我阅读了这篇文章并尝试使用 max-height 代替 height,但不起作用
let skillList = $('#Skills>ul>li');
skillList.on('click',expandSkillList);
function expandSkillList(event){
let firstChild = $(this).children(':first');
firstChild.toggleClass('minimized');
}
#Skills{
background-color:darkgrey;
color:#fff;
}
ul{
text-align:left;
}
li ul{
max-height:100%;
transition:max-height 0.5s;
overflow-y:hidden;
}
ul.minimized{
max-height:0px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<section id="Skills">
<h1>SKILLS</h1>
<ul>
<li>LANGUAGE
<ul class="minimized">
<li>HTML5</li>
<li>CSS3</li>
<li>JAVASCRIPT</li>
<li>PHP</li>
</ul>
</li>
<li>FRAMEWORK/LIBRARY
<ul class="minimized">
<li>JQUERY</li>
<li>BOOTSTRAP</li>
<li>REACTJS</li>
</ul>
</li>
<li>TOOL
<ul class="minimized">
<li>WORDPRESS</li>
</ul>
</li>
</ul>
</section>
请不要使用 jquery,javascript 解决方案 只有 CSS
【问题讨论】:
-
let skillList = $('#Skills>ul>li');请不要 jquery,javascript 解决方案只有 CSS ?!?!?另外,应该为您做多少百分比?百分比对应于周围容器的尺寸,没有固定的高度。 -
@connexo 在这种情况下,我使用 jquery 只是为了切换类,所有动画都需要在纯 CSS 中完成。我的意思是 jquery 或 javascript 动画不是我现在正在寻找的那个。
-
我已经编辑了我的答案但是使用了 JS,我不知道它是否适合你。
标签: javascript css transition