脚下时光博客

常用、分享、学习

  • 博主:键盘上游荡
  • QQ:点击这里给我发消息
  • 微信:xia_bq
  • 业务:建站,二开,运维
AD
【腾讯云】云产品限时秒杀,爆款2核4G云服务器首年74元
文章目录

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

xiabq 2022-11-22 15:19:58 点滴记忆 0

前言

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

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

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


  • 分享: