我正在尝试编写一个没有任何绝对定位或 JS 的简单 HTML+CSS 菜单。我的问题是关于子菜单,它要么扩展当前选定的项目,要么取代它:

HTML 很简单:
<ul id="menu">
    <li>Item 1</li>
    <li>Folder 1
    <ul>
        <li>Item 2</li>
    </ul>
    </li>
    <li>Item 3</li>
</ul>
CSS也是如此:
#menu, #menu ul {
    border-style: solid;
    border-width: 0px;
    border-top-width: 1px;
    float: left;
    list-style: none;
    margin: 0px;
    padding: 0px;
    width: 180px;
}
#menu li ul {
    background-color: cyan;
    display: none;
    position: relative;
    right: -168px;
    width: auto;
}
#menu li:hover ul {
    display: block;
}
#menu li {
    border-style: solid;
    border-width: 1px;
    border-top-width: 0px;
    padding: 10px;
}
#menu li:hover {
    background-color: lightgrey;
    font-weight: bold;
}
我以为子菜单重新定位后才能影响布局,这里似乎不是这样。我有点不知所措。