html - 导航菜单未正确下拉

标签 html css drop-down-menu

我在网站上工作,我需要获取顶部菜单以创建下拉菜单。我已经在站点中放置了这些元素,但我已将 display:none 放入我需要的列表项的 ul 中(在“服务”链接下找到)。如果删除它,将鼠标悬停在服务链接上时将显示下拉菜单。当发生这种情况时,当我需要下拉菜单时,我会使用下拉列表将菜单推到一边。有什么建议么?我在 4 个样式表之间为网站模板与 native CSS 作斗争,我已经无计可施了。

谢谢!

编辑:我已将范围缩小到导致问题的 CSS 样式表。我很确定这是此时的主要样式表 (style.css)。

最佳答案

因此,在您的情况下,解释如何执行此操作会更容易,而不是尝试将您的网站分开并查看问题所在(快速通知是:ul 未定位并且似乎有没有悬停 Action 来显示它)。

这是重建的结构(类名不同等,但格式相同):

<nav>
  <ul>
    <li class="link">
        <a href="#">Hover over Me</a>
        <ul class="subnav">
            <li>subnav 1</li>
            <li>subnav 1</li>
            <li>subnav 1</li>
        </ul>
    </li>
 </ul>
</nav>

您需要做的是设置子导航包装器的样式,即 ul。您需要将其设置为 position: absolutedisplay: none。绝对位置会将其从文档流中移除,这样当您显示它时它就不会影响您的其余导航项:

ul.subnav{
   display: none;
   position: absolute;
   background: blue;
   color: #FFF;
}

但是 absolute 图像本质上是相对于文档的,因此要包含此子导航,您需要将其父级(li)设置为 位置: relative 以便它包含此元素:

li.link{
   position: relative;
}

最后,您可以在父级的 :hover 状态下显示隐藏菜单:

.link:hover .subnav{
   display:block;
}

FIDDLE

关于html - 导航菜单未正确下拉,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27973883/

相关文章:

javascript - Bootstrap 3.2.0 : Open dropdown menu with javascript

css - 下拉 CSS 菜单?

javascript - 在带有 scroll-x : auto not working in iOS & Safari 的容器内带有点击贴图的图像

jQuery从底部向上滑动,无法让上面的内容不重叠

html - 为什么 Razor 语法会破坏 css 样式?

javascript - 带有 Wordpress 循环的 jQuery。显示/隐藏内容?

Javascript 根据复选框值过滤内容

javascript - 如何在不渲染页面的情况下点击链接?

html - 仅CSS的砌体布局

html - 具有顶级属性的绝对定位子菜单不起作用