前言

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

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

配合 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

本站部分文章搜集整理于互联网或者网友提供,如有侵权请联系站长

如若转载,请注明出处:https://htmlbk.com/web/2270.html

温馨提示:该文档最后一次修改时间为2022-11-24 09:28:34,请注意相关的内容是否还可用!