【问题标题】:css dropdown sub menu not dropping under parent menu itemcss下拉子菜单没有放在父菜单项下
【发布时间】:2025-12-27 22:20:08
【问题描述】:

我有一个简单的 css 下拉菜单,但子菜单似乎没有放在其父菜单的正下方。这里有一个链接到它目前的样子。

DEMO

请帮忙。谢谢。

*********这里是html**********************

<header>
<table>
      <td>
      <h1>Header</h1>
        <nav>
    <ul>
    <li><a href="#">menu1</a>
    <ul>
    <li><a href="#">sub</a></li>
    <li><a href="#">sub</a></li>
    <li><a href="#">sub</a></li>
    </ul>
    </li>
    <li><a href="#">menu2</a>
    <ul>
    <li><a href="#">sub</a></li>
    <li><a href="#">sub</a></li>
    <li><a href="#">sub</a></li>
    </ul>
    </li>
    <li><a href="#">menu3</a>
    <ul>
    <li><a href="#">sub</a></li>
    <li><a href="#">sub</a></li>
    <li><a href="#">sub</a></li>
    </ul>
    </li>
    <li><a href="#">menu4</a>
    <ul>
    <li><a href="#">sub</a></li>
    <li><a href="#">sub</a></li>
    <li><a href="#">sub</a></li>
    </ul>
    </li>
    </ul>
    </nav>
    </td>
    </table>
</header>

****************** 这里是css ************************ *****

table {
border: 1px solid black;
margin-left: auto;
margin-right: auto;
}
header {
position: absolute;
top:0;
width: 100%;
border: 1px solid black;
}
header h1 {
display: inline-block;
}
nav {
display: inline-block;
}
nav ul {
list-style-type: none;
}
nav li {
display: inline;
}
nav ul ul li a{
display: block;
}
nav li ul {
display: none;
}
nav li:hover ul{
display:block;
}
nav ul ul li{
display:block;
}

【问题讨论】:

    标签: html css drop-down-menu cascadingdropdown


    【解决方案1】:

    您只需要进行一些小改动,就可以使嵌套的uls 相对于它们的父级li 显示:

    nav li {
        display: inline;
        position: relative;
    }
    
    nav li ul {
        display: none;
        position: absolute;
        padding: 0;
    }
    

    【讨论】:

    • 感谢您的回复。似乎所有菜单项仅下拉第一个菜单项下方。我怎样才能让他们下拉自己的父菜单。
    • 在这里,我已经更新了您的小提琴以纳入我建议的更改:jsfiddle.net/k7C9T/5