jquery - 水平列表中的垂直子列表给出对齐问题

标签 jquery html css drop-down-menu

我在创建带有图像的下拉菜单时遇到了问题。 我正在尝试使用主菜单项和相应的垂直菜单实现居中对齐的水平列表。

这是我的 CSS Code 代码:

#nav {
    position: relative;
    top: 88px;
    padding: 0px;
    border: 0px;
    min-width: 800px;
    z-index: 999;
    font-size: 0px;
}

#nav > ul {
    padding: 0;
}

#nav > ul > li {
    display: inline-block;
    padding: 0 0 0 0;
}

#nav >ul> li> ul {
    width: 100%;
    display: none;
    padding: 0px;
    margin: 0px;
    list-style: none;
}

#nav> ul >li >ul> li {
    display: block;
    padding: 0px;
}

JQuery 代码:

$("#nav img").mouseover(function () {
  //$('ul .subList').hide();            
  var imgSrc = $(this).attr("src");
  var tempSrc = imgSrc.split(".png");
  var newSrc = tempSrc[0] + "Hover.png";
  $(this).attr("src", newSrc);
  $(this).closest('li').children('ul .subList').slideToggle();
});

其中 nav 是包含列表的 div。所有列表项都是图像。

我希望主菜单项对齐,子菜单项显示在相应菜单的下方,但主菜单项向上。

例如:

应该是:(期望的)

元素 1 元素 2 Sub1a 子1b

变成:(当前输出)

元素 1 Sub1a Sub1b Item2

最佳答案

啊哈,实际上解决这个问题出奇的简单。这是 CSS 发生的这些奇怪的默认事情之一。

到你的#NAV > UL > LI

添加:vertical-align: top

你应该总是添加 vertical-align: top 到 inline-block 元素,除非你想要相反的效果:-)

关于jquery - 水平列表中的垂直子列表给出对齐问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12222626/

相关文章:

javascript - JQuery 在无序列表中查找下一个类

javascript - 如何将工具提示放在 div 下居中?

javascript - 即使更改来源后,旧图像也会立即显示

javascript - 将 div 中的内容连同带样式的组件导出到文本/html 文件

html - 移除可点击 HTML 元素上的框架

javascript - 如何在javascript事件中通过参数调用页面方法?

jquery - HTML 表格行链接

PHP 动态变量作为 jQuery 选择器

javascript - Angular 6 中具有相应组件的子路由

javascript - 悬停时显示现有的 div