代码之家  ›  专栏  ›  技术社区  ›  Georg Schölly Crazy Developer

如何创建一个比标题宽的下拉菜单?

  •  3
  • Georg Schölly Crazy Developer  · 技术社区  · 14 年前

    这是我菜单的基本结构。我不能改变。

    <ul>
        <li><span>Bedroom</span></li>
        <li><span>Kitchen</span>
            <ul>
                <li><span>Pot</span></li>
                <li><span>Panholder</span></li>
            </ul>
        </li>
        <li><span>Garden</span></li>
    </ul>
    

    下面是我想要实现的布局:

    Bedroom | Kitchen | Garden
            | Pot       |
            | Panholder |
    

    正如你所看到的 潘霍尔德 比厨房宽。我怎样才能断开 厨房 从它的子菜单的宽度?(子菜单允许重叠,我将隐藏除当前子菜单之外的所有子菜单。

    我正在寻找一个非javascript的解决方案。如果你想试试看, I've put it on jsFiddle .

    2 回复  |  直到 14 年前
        1
  •  3
  •   Ryan Kinal    14 年前

    添加 position: absolute 到您的下拉列表 <ul> . 在您的jsFiddle中,它将是以下内容:

    body > ul > li > ul {
        position: absolute;
    }
    
        2
  •  1
  •   Georg Schölly Crazy Developer    14 年前

    为嵌套的ul或li项指定较大的宽度,例如:

    ul { width: 100px; }
    ul li ul { width: 200px; }
    

    这将使嵌套的ul大于其父级。

    对于完整的下拉式CSS,您可以使用许多解决方案。一个好的起点是 www.cssplay.co.uk