与css在一行中的子菜单

时间:2014-12-05 13:29:56

标签: html css3 drop-down-menu

sample

我想在菜单上悬停时制作如上图所示的导航菜单。这是导航菜单的示例代码。

<div id="menu">
  <ul>
    <li>Menu1
      <ul class="submenu">
        <li>Menu1Sub1</li>
        <li>Menu1Sub2</li>
        <li>Menu1Sub3</li>
        <li>Menu1Sub4</li>
      </ul>
    </li>
    <li>Menu2
      <ul class="submenu">
        <li>Menu2Sub1</li>
        <li>Menu2Sub2</li>
        <li>Menu2Sub3</li>
      </ul>
    </li>
    ...
  </ul>
</div>

子菜单位置在一行中,如果可能的话,我还希望每个菜单的子菜单位置完全相同。

如何用css做到这一点?

这是我到目前为止没有像我预期的那样工作的。

#menu { 
        text-decoration:none;
}
#menu li { 
        line-height:20px; 
        float:left;
}
#menu li > ul { 
        display: none; 
}
#menu li:hover > ul { 
        display: block;
} 
#menu li ul li {
        line-height:13px;
        float:left;
        position:relative;
}

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

试试这段代码:

#menu { 
    position: relative;
    background-color: black;
        text-decoration:none;
}

#menu li { 
    background-color: green;
    padding: 10px;
    height: 30px;
    list-style: none;
    line-height:30px; 
    float:left;
}

#menu li > ul { 
    display: none; 
}

#menu > ul > li {
    border: 2px solid white;
}

#menu > ul > li:hover {
    border: 2px solid black;
}

#menu li:hover > ul { 
    display: block;
    position: absolute;
    top: 54px;
    left: 0;
}

#menu li ul li {
    float:left;
    position:relative;
}

DEMO jsfiddle