伸缩菜单栏

极简版:

  1. 导航栏按平常的div+ul+li+a进行嵌套书写;
  2. 因我写的箭头是用小正方形的边框来代替的,所以的我a标签尾部有个空盒子;
  3. 然后将子菜单的内容以自定义列表添加至a标签后;
  4. 到这基本的骨架就好了,剩下的效果为css的工作
    html代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>简易伸缩菜单</title>
    <link rel="stylesheet" href="d4.css" type="text/css">
</head>
<body>
<div class="nav">
        <ul>
            <li><a href="#">首页 </a></li>
            <li>
                <a href="#">
                    车票
                    <div></div>
                </a>
                <dl>
                    <dt>购买</dt>
                    <dd><a href="#">单程</a></dd>
                    <dd><a href="#">接续换乘</a></dd>
                    <dd><a href="#">往返</a></dd>
                    <dd><a href="#">计次·定期票</a></dd>
                    <dt>变更</dt>
                    <dd><a href="#">退票</a></dd>
                    <dd><a href="#">变更到站</a></dd>
                    <dd><a href="#">改签</a></dd>
                    <dd></dd>
                    <dt>更多</dt>
                    <dd><a href="#">中铁银通卡</a></dd>
                    <dd><a href="#">市郊快速铁路</a></dd>
                    <dd><a href="#">广九直通车</a></dd>
                    <dd><a href="#">国际列车</a></dd>
                </dl>
            </li>
            <li>
                <a href="#">
                    团购服务
                    <div></div>
                </a>
                <dl>
                    <dd><a href="#">务工人员</a></dd>
                    <dd><a href="#">学生团体</a></dd>
                </dl>
            </li>
            <li>
                <a href="#">
                    会员服务
                    <div></div>
                </a>
                <dl>
                    <dd><a href="#">会员管理</a></dd>
                    <dd><a href="#">积分账户</a></dd>
                    <dd><a href="#">积分兑换</a></dd>
                    <dd><a href="#">会员专享</a></dd>
                    <dd><a href="#">会员中心</a></dd>
                </dl>
            </li>
            <li>
                <a href="#">
                    站车服务
                    <div></div>
                </a>
                <dl>
                    <dd><a href="#">重点旅客预约</a></dd>
                    <dd><a href="#">遗失物品查找</a></dd>
                    <dd><a href="#">便民托运</a></dd>
                    <dd><a href="#">动车组介绍</a></dd>
                    <dd><a href="#">共享汽车</a></dd>
                    <dd><a href="#">定制接送</a></dd>
                    <dd><a href="#">车站引导</a></dd>
                    <dd><a href="#">站车风采</a></dd>
                </dl>
            </li>
            <li>
                <a href="#">
                    商旅服务
                    <div></div>
                </a>
                <dl>
                    <dd><a href="#">餐饮·特产</a></dd>
                    <dd><a href="#">旅游</a></dd>
                    <dd><a href="#">保险</a></dd>
                    <dd><a href="#">雪具快运</a></dd>
                </dl>
            </li>
            <li>
                <a href="#">
                    出行指南
                    <div></div>
                </a>
            </li>
            <li>
                <a href="#">
                    信息查询
                    <div></div>
                </a>
            </li>
        </ul>
</div>
</body>
</html>

css样式如下:

*{
    margin: 0;
    padding: 0;
}
/*导航栏*/
.nav{
    position: relative;
    top: 15px;
    width: 100%;
    height: 34px;
    background: #3b99fc;

    display:inline-block;
    -webkit-box-shadow:1px 1px 3px #292929;
}
.nav ul{
    width: 100%;
    /*z-index: 3;*/
}
.nav ul li {
    padding: 5px 0 6px 0;
    width: 12.5%;
    text-align: center;
}
/***/
.nav li{
    list-style:none;
    float:left;
    position: relative;
}
.nav li:hover{
    background:#2676e3;
    -webkit-transition: background 1s ease-out;
}
.nav li a{
    display:block;
    font-size:12px;
    color:#fff;
    text-decoration:none;
    -webkit-border-top-left-radius: 2px;
}
.nav li > a{
    position:relative;
}
.nav div{
    position: relative;
    float: left;
    top: -18px;
    left: 0px;
    width: 100%;
    height:30px;
}
/*箭头*/
.nav div::after{
    position: absolute;
    content: '';
    width: 8px;
    height: 8px;
    top: 4px;
    right: 8px;
    border-right: 1px solid white;
    border-bottom: 1px solid white;
    transform: rotate(45deg);
    /* 转换中心点 */
    transform-origin: 75% 75%;
    transition: all 0.1s;
}
.nav div:hover::after {
    transform: rotate(225deg);
}
/*子菜单的点击效果*/
.nav dl a:hover{
    color:#FFF;
    background:#999E9F;
}
.nav dt{
    display:none;
    margin-top:0px;
    padding-top:15px;
    height:20px;
    text-align: left;
    color: #3357ff;
}
.nav dd{
    /*运用margin负值的效果将自定义列表向上缩进盒子里,并设置为完全透明*/
    margin-top:-40px;
    opacity: 0;
    width:145px;
}
/*设置当鼠标经过所在自定义列表所在的父盒子时,位置回归导航栏的下方,并设置为完全不透明*/
.nav li:hover dd{
    margin-top:0;
    opacity:1;
}

重点注释请看文中;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值