用HTML+css制作一个简单的三级导航

以前刚开始学html的时候,一个很简单的导航条就把我难住了一个上午,现在自己做一个小案例,希望能帮助到更多的初学者。

—HTML部分

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>简易导航条</title>
    <link rel="stylesheet" href="css/style.css">
</head>

<body>
    <header>
        <nav>
            <div class="common">
                <ul class="nav_left">
                    <li><a href="#">首页</a>
                        <ul class="two">
                            <li><a>二级菜单</a></li>
                            <li><a>二级菜单</a></li>
                            <li><a>二级菜单</a>
                                <ul class="three">
                                    <li>
                                        <a>三级菜单</a>
                                    </li>
                                    <li>
                                        <a>三级菜单</a>
                                    </li>
                                    <li>
                                        <a>三级菜单</a>
                                    </li>
                                </ul>
                            </li>
                        </ul>
                    </li>
                    <li><a href="#">产品</a></li>
                    <li><a href="#">服务</a></li>
                    <li><a href="#">关于</a></li>
                </ul>
                <ul class="nav_right">
                    <li><a href="#">注册</a></li>
                    <li><a href="#">登录</a></li>
                </ul>
            </div>
        </nav>
    </header>
</body>

</html>

—CSS部分

* {
    margin: 0;
    padding: 0;
    font-family: Arial, Helvetica, sans-serif;
}

header {
    width: 100%;
}

li {
    list-style: none;
}

a {
    text-decoration: none;
    font-size: 18px;
    color: #7f8c8d;
}

nav {
    background: #ffffff;
    box-shadow: 0 0 5px #bdc3c7;
    /* 阴影 */
    height: 60px;
}

.common {
    margin: 0 auto;
    width: 1200px;
    /* 让内容居中 */
}

.nav_left li {
    float: left;
    line-height: 60px;
    width: 120px;
}

.nav_left li a {
    text-align: center;
    display: block;
}

.nav_left li:hover a {
    color: #27ae60;
}

.nav_left .two {
    display: none;
}

.nav_left li:hover .two {
    display: block;
    /* 鼠标滑过一级菜单显示二级菜单 */
}

.nav_left .two li {
    position: relative;
    /*三级菜单绝对定位 父容器要使用相对定位*/
    clear: both;
    text-align: center;
    background-color: #f1f2f6;
}

.nav_left .two li a {
    display: block;
    color: #7f8c8d;
    cursor: pointer;
}

.nav_left .two li:hover a {
    /* 鼠标滑过二级菜单时 a标签的样式 */
    background: #bdc3c7;
    color: #27ae60;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
}

.nav_left .two>li:hover .three {
    display: block;
    /*当鼠标悬浮在二级菜单的li标签上时 显示三级菜单*/
}

.nav_left .two .three {
    display: none;
    position: absolute;
    /*三级菜单设置绝对定位 脱离原文档流*/
    top: 0px;
    left: 120px;
}

.nav_left .two .three li a {
    /* 后面类选择较多的原因是color属性会继承,
  我们不想它继承,所以选择器多,权重高,
  才能给后面的a标签设置上颜色,
  初学者可以自行搜索: CSS选择器的权重详解 */
    display: block;
    background-color: #f1f2f6;
    color: #7f8c8d;
    cursor: pointer;
}

.nav_left .two .three li:hover a {
    background: #bdc3c7;
    color: #27ae60;
    border-radius: 5px;
    /* 圆角  为了适应多种浏览器的内核 */
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
}


/* 右边 */

.nav_right li {
    float: right;
    line-height: 60px;
}

.nav_right li a {
    padding: 0 25px;
    display: block;
}

.nav_right li:hover a {
    color: #27ae60;
}

最终效果图如下:
效果图

喜欢的同学可以点赞哦!

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值