使用「max-height」实现自适应高度
.tab-content{ max-height: 0; overflow: hidden; -webkit-transition: max-height .8s; -moz-transition: max-height .8s; -ms-transition: max-height .8s; -o-transition: max-height .8s; transition: max-height .8s; } .tab{ list-style-type: none; list-style-image: none; margin: 0; padding: 0; margin-top: 10px; overflow: hidden; border:1px solid #CCC; border-radius:5px; /* 动画差 */ -webkit-transition: max-height .2s; -moz-transition: max-height .2s; -ms-transition: max-height .2s; -o-transition: max-height .2s; transition: max-height .2s; } .tab h2{ cursor:pointer; padding:10px 20px; background: #EEE; border-top:1px solid #BBB; border-bottom:1px solid #BBB; margin:-1px 0; color:#333; -webkit-transition: background .3s; -moz-transition: background .3s; -ms-transition: background .3s; -o-transition: background .3s; transition: background .3s; } .tab h2:hover{ background: lightblue; } .tab h2:hover ~ .tab-content{// 开始动画 max-height: 200px; }
<h1>CSS3 缓动手风琴动画效果(一丝)</h1> <p>使用「max-height」实现自适应高度</p> <ul class="tab"> <li> <h2>选项卡1</h2> <div class="tab-content"> <p>隐藏的文字<br> 隐藏的文字<br> 隐藏的文字<br> </p> </div> </li> <li> <h2>选项卡2</h2> <div class="tab-content"> <p>隐藏的文字<br> 隐藏的文字<br> 隐藏的文字<br> 隐藏的文字<br> 隐藏的文字<br> 隐藏的文字 </p> </div> </li> </ul>
机器瞎学/数据掩埋/模式混淆/人工智障/深度遗忘/神经掉线/计算机幻觉/专注单身二十五年