css制作二级下拉导航菜单

2,407 阅读1分钟

使用css的display属性控制二级下拉菜单的显示与否。当鼠标移动到一级菜单的li标签时,显示二级导航菜单的ul标签

注意:
1.二级菜单的hover事件一定要写在父元素才起作用
2.为了防止导航栏下面的banner图或内容盖住二级菜单,需要给导航栏定位, 来提高二级菜单的层级,父元素相对定位,子元素绝对定位(子绝父相)
3.定位之后,二级菜单的宽将不再继承它父元素的宽,需要重新定义,否则它将被内容撑开

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        /* 清除默认样式 */
        *{
            margin0;
            padding0;
            list-style: none;
        }
        /* 设置父容器样式 */
        .container{
            width380px;
            height500px;
            background-color: aliceblue;
            margin0 auto;
        }
        /* 选中每一个菜单项 */
        .container ul li{
            float: left;
            width120px;
            height36px;
            line-height36px;
            background-color: darkcyan;
            text-align: center;
            border1px solid white;
            position: relative;   
        }
        /* a标签样式 */
        a{
            color: white;
            text-decoration: none;
        }
        /* 二级菜单默认隐藏 */
        .container ul li ul{
            position: absolute;
            display: none;
        }
        /* 每一个一级菜单的li加一个hover效果 */
        .container ul li:hover{
            background-colorrgba(0,139,1390.6);
        }
        /* 当一级菜单hover时 二级菜单显示 */
        .container ul li:hover ul{
            display: block;
            cursor: pointer;
            color: white;
        }
    </style>
</head>
<body>
    <div class="container">
        <!-- 一级菜单 -->
        <ul>
            <li>
                <a href="#">一级菜单1</a>
                <!-- 二级菜单 -->
                <ul>
                    <li>二级菜单1</li>
                    <li>二级菜单2</li>
                    <li>二级菜单3</li>
                </ul>
            </li>
            <li><a href="#">一级菜单2</a></li>
            <li><a href="#">一级菜单3</a></li>
        </ul>
        <p>小桥流水人家</p>
    </div>
</body>
</html>

二级菜单.gif