1. 程式人生 > >如何僅僅使用 CSS 來做個下來選單的動畫?

如何僅僅使用 CSS 來做個下來選單的動畫?

關鍵是使用 max-height, 只要設定的值大於要顯示的元素的高就可以:

HTML

<div id="menu">
    <a>hover me</a>
    <ul id="list">
        <!-- Create a bunch, or not a bunch, of li's to see the timing. -->
        <li>item</li>
        <li>item</li>
        <li>item</li>
        <li>item</li>
        <li>item</li>
    </ul>
</div>

CSS

#menu #list {
    max-height: 0;
    transition: max-height 0.15s ease-out;
    overflow: hidden;
    background: #d5d5d5;
}

#menu:hover #list {
    max-height: 500px;
    transition: max-height 0.25s ease-in;
}