二级下拉菜单缓慢渐变

二级下拉菜单缓慢渐变

transition属性与display属性相冲突,不能使用这两种属性达到渐变效果。
transition属性与height属性结合,
初始时二级菜单高度为0, 通过溢出隐藏,使整个二级菜单在一开始就整个隐藏,
当鼠标悬停在一级菜单某项上时,通过高度的渐变,溢出部分逐渐减少,让二级菜单随着高度变化而显示出来, 达到二级下拉菜单缓慢渐变的效果。

<!DOCTYPE html>

<html lang="en" >
<head>
    <meta charset="utf-8" />
    <title>HTML实验1</title>
    <style>
        *{
            margin:0px;
            padding:0px;
        }
        header{
            background:#b6ff00;
            width:100%;
            height:100px;
            margin-bottom:10px;
            position:relative;
        }
        nav{
            position:absolute;/*相对于上面的用relative的元素*/
            bottom:5px;
            left:600px;
            cursor:pointer;
        }
        ul{
            list-style:none;
        }
            ul li {
                float: left;
                /*一级菜单向左浮动,使之水平排列*/
                background:#b200ff;
                text-decoration:none;
                color:#ffffff;
                font-weight:bold;
                display:block;
                line-height:40px;
                padding:0px 10px;
        }
        ul li a:hover{
            background:#0094ff;
        }
                ul li ul {
                    position: absolute;
                    /*绝对定位,相对于上面的用relative的元素*/
                    height:0;
                    overflow:hidden;
                    /*溢出时隐藏,
                        初始时高为0,
                        所以整个二级菜单都被隐藏。
                    */
                    background: #b200ff;
                    color: #ffffff;
                }
            ul li:hover ul{
                height:160px;
                transition:all 2s;
                /*transition属性与display属性冲突,
                    transition属性与height属性结合,
                    通过溢出隐藏,
                    让二级菜单随着高度变化而显示出来,
                    达到二级下拉菜单缓慢渐变的效果。
                */
            }
        #section{
            background:#ff6a00;
            width:100%;
            height:800px;
        }
    </style>
</head>
<body>
    <header>
        <nav>
            <ul>
                <li>
                    视频
                    <ul>
                        <li>
                            <a href="https://www.bilibili.com/"
                               target="_blank">
                            bilibili
                            </a>
                        </li>
                        <li>
                            <a href="https://v.qq.com/" 
                               target="_blank">
                            腾讯视频
                            </a>
                        </li>
                        <li>
                            <a href="https://www.iqiyi.com/"
                               target="_blank">
                            爱奇艺
                            </a>
                        </li>
                        <li>
                            <a href="https://www.youku.com/">
                            优酷
                            </a>
                        </li>
                    </ul>
                </li>
                <li>
                    问答
                    <ul>
                        <li>
                            <a href="https://www.zhihu.com/signin?next=%2F"
                               target="_blank">
                            知乎
                            </a>
                        </li>
                        <li>
                            <a href="https://www.csdn.net/">
                            CSDN
                            </a>
                        </li>
                    </ul>
                </li>
            </ul>
        </nav>
    </header>
    <!--网页头部里嵌套一个导航栏,由ul列表组成,
        利用ul嵌套构成一个二级的下拉菜单,
        当鼠标移动到相应的一级菜单项,
        将会展开对应的二级菜单,
        利用transition属性使二级菜单缓缓展开,
        -->
    <section id="section">

    </section>
</body>
</html>
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值