小鹏汽车官网的这种带间隙的菜单栏如何实现

阅读 2.3k
3 个回答

他官网就是使用hover实现的,给整的导航了个下边距8px,其实是无缝接的,白色部分只是select-name的css,是鼠标经过让菜单栏显示,就完了

<div class="select">
    <span class="select-name">服务</span>
    <div class="popup">
        <a href="/charging.html">充电</a>
        <a href="/finance.html">金融</a>
        <a href="/customerservice.html">售后</a>
    </div>
</div>
整体导航栏css
.header .header-wrap .nav .select {
    position: relative;
    display: inline-block;
    padding-bottom: 8px;
}
服务块经过的时候css:
 .header .header-wrap .nav .select:hover .select-name {
    border-radius: 19px;
    color: #000;
    background: #fff;
}
菜单栏css
.header .header-wrap .nav .popup {
    position: absolute;
    top: 45px;
    left: 50%;
    display: none;
    padding: 4px;
    width: 7vw;
    min-width: 80px;
    max-width: 103px;
    border-radius: 7px;
    background: #fff;
    transform: translateX(-50%);
    box-shadow: 0 0 2px #ccc;
}

加一个padding之类的,或透明元素,css明明可以搞定

我觉得与其硬要用纯CSS去实现,不如引入jQuery,然后使用里面的mouseenter和mouseleave去实现这样的效果,可能这样思路会清晰一点

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题