純CSS實現下拉菜單

將下拉菜單的ul高度設置爲0,而且超出部分隱藏掉。

設置下拉菜單的高度添加過渡效果,高度爲auto時過渡效果失效。

<style>
    ul{
        list-style: none;
        margin: 0;
        padding: 0;
    }
    ul li a{
        display: block;
        text-decoration: none;
        width: 100px;
        height: 50px;
        text-align: center;
        line-height: 50px;
        color: white;
        background-color: #2f3e45;
    }
    .drop-down{
        width: 100px;
        height: 50px;
    }
    .drop-down-content{
        opacity: 0;
        height: 0;
        overflow: hidden;
        transition: all 1s ease;
    }

    p{
        font-size: 20px;
        margin: 0;
    }
    .drop-down-content li:hover a{
        background-color: red;
    }
    .nav .drop-down:hover .drop-down-content{
        opacity: 1;
        height: 150px;
    }
</style>
<ul class="nav">
    <li class="drop-down">
        <a href="#">下拉菜單</a>
        <ul class="drop-down-content">
            <li><a href="#">菜單1</a></li>
            <li><a href="#">菜單2</a></li>
            <li><a href="#">菜單3</a></li>
        </ul>
    </li>
</ul>
<p>內容</p>
效果圖以下:

菜單未展開時
菜單展開時
選擇某一菜單時

相關文章
相關標籤/搜索