垂直的水平下拉菜单

时间:2016-03-22 23:16:19

标签: html css navigation submenu

我正在尝试修改模板导航栏以显示下拉列表 how-to悬停,但我似乎无法让sub 2低于sub 1

我还注意到,当移动到移动尺寸时,事情会中断。 (但那是因为我还没有担心医疗屏幕。)

有什么想法吗?

See the fiddle for the full code.

HTML

<!-- Navigation options -->
<nav class="clearfix">
    <ul class="clearfix">

        <li><a href="#">Home</a></li>
        <li><a href="#">How-to</a>
<ul id="submenu">
<li><a href="#">sub1</a>
<li><a href="#">sub2</a>
</ul> <!--end sub ul-->
        </li>
        <li><a href="#">Icons</a></li>
        <li><a href="#">Design</a></li>
        <li><a href="#">Web 2.0</a></li>
        <li><a href="#">Tools</a></li>  
    </ul> <!-- end ul clearfix -->
    <a href="#" id="pull">Menu</a>
</nav> <!-- end nav clearfix -->

CSS

.clearfix li:hover ul {
display: block;
}

.clearfix li ul {
display: none;
position: absolute;
top:100%;
background: #455868;
width: auto;
height: auto;
vertical-align: top;
}

.clearfix li ul li {
width: auto;
}

.clearfix li ul a {
display: block;
}

有关完整代码,请参阅小提琴: https://jsfiddle.net/m7tnf8ao/

2 个答案:

答案 0 :(得分:0)

您的子菜单li元素正在从nav li规则中选择一个浮点数。

在jsfiddle的第38行添加:

.clearfix li ul li {
  width: auto;
  float:none; /* <- this one here */
}

答案 1 :(得分:0)

要在sub1下创建sub 2 apear,请关闭子菜单的float属性:

#submenu li {
  float: none;
}

第二个问题解决了:

@media screen and (max-width: 600px) {
  #submenu {
    position: static;
  }
}