CSS - 鼠标移入悬停显示下拉菜单(导航栏鼠标经过 hover 时出现二级菜单)

前言

该效果很常见,网上的代码都非常的乱,样式改起来非常难受。

本文提供 “最简洁” 的解决方案与干净整洁的代码,一眼看过去就知道改哪里,

配合 Vue.js 项目非常合适,如下图所示:

1b67053d5d6d4bd6b2a473972d829562.gif

完整源码

您建立一个干净的 *.html 文件,或者直接选择性复制即可。

<section class="content">
    <!-- 有菜单 -->
    <div class="items">
        <div class="menu">
            <span>有菜单</span>
            <div>
                <div class="drop">选项A</div>
                <div class="drop">选项B</div>
                <div class="drop">选项C</div>
            </div>
        </div>
    </div>
    <!-- END -->

    <!-- 无下级 -->
    <div class="items">
        <div class="menu">
            <span>无菜单</span>
            <div></div>
        </div>
    </div>
    <!-- END -->
</section>
/* 最外层 */
.content {
    display: flex;
    flex-direction: row;
}
/* END */

/* 每个菜单的样式(宽度这里调,子菜单宽度都听这个) */
.items {
    width: 130px;
    color: #fff;
}
/* END */

/* 菜单与鼠标移入 */
.menu{
    width: 100%;
    height: 45px;
    background: red;
    line-height: 45px;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.menu:hover{
    overflow: visible;
    background: black;
    color: white;
    z-index: 999;
    cursor: pointer;
}
/* END */

/* 下拉菜单与鼠标移入 */
.drop{
    background: red;
    text-align: center;
    width: 100%;
    height: 45px;
    line-height: 45px;
    overflow: hidden;
}
.drop:hover{
    background: black;
    cursor: pointer;
}
/* END */

THE END

文章版权:作者:鲁豫  来源:刘小白博客  

免责声明:本站提供的一切软件、插件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!

本文最后更新于 2023-04-07 08:54:19,如果你的问题还没有解决,可以加入建站交流群和群友们一起讨论。

评论区