我正在制作一个手风琴式菜单,通过将内容的 max-height 设置为零,然后在选中单选按钮时给它赋值,但是当我将max-height设置为0时,它会在标签下方创建额外的空间。
这个额外的空间可以通过用 height 替换 max-height 来消除,那么为什么会发生这种情况?这两个属性之间有什么区别?
HTML:
<div class="tab-group">
<div class="tab">
<input type="radio" name="tab" id="first-tab"><!--/radio-->
<label for="first-tab">First Tab</label><!--/label-->
<div class="tab-content">
<p>
Lorem ipsum dolor sit amet
</p>
</div><!--/content-->
</div><!--/.tab-->
<div class="tab">
<input type="radio" name="tab" id="second-tab"><!--/radio-->
<label for="second-tab">Second Tab</label><!--/label-->
<div class="tab-content">
<p>
Lorem ipsum dolor sit amet
</p>
</div><!--/content-->
</div><!--/.tab-->
</div><!--/.tab-group-->
CSS:
.tab-content {
max-height: 0;
overflow: hidden;
transition: max-height .5s linear;
}
input[type="radio"]:checked ~ .tab-content {
max-height: 10em;
}
这是一个关于手风琴菜单的示例链接。