水平100%菜单,但垂直子菜单项

时间:2013-09-26 23:11:01

标签: html css menu

我做了一个水平菜单,所有菜单项都占用了100%的导航。为此,我在'lu'中使用display:table,并在'li'中显示:table-cell。通过这种方式,菜单是水平的,并将所有manu项目扩展到100%宽度。问题是子菜单也是水平的,但我想垂直显示子菜单项。

    <script type="text/javascript">
        $('body').ready(function() {
           $('.dropdown').hover(function() {
              $(this).find('.sub_navigation').slideToggle(); 
           });
        });
    </script>

    ul#navigation {
        float:left;
        display:table;
        margin:0;
        padding:0;
        width:100%;
        font-size:15px;
        background-color:#FFF;
    }

    ul#navigation li {
        display: table-cell;
        margin:0;
        padding:14px 3px 14px 3px;
        text-align:center;
    }

    ul.sub_navigation {
        position:absolute;
        display:none;
        margin:0;
        padding:0;
        background-color:#FFF;
        opacity:0.8;
        list-style-type:none;
    }

    ul.sub_navigation li {
        clear:both;
    }

    ul#navigation li a,
    ul#navigation li a:active,
    ul#navigation li a:visited {
        color:#000000;
        text-decoration:none;
        display:block;
    }
    ul#navigation li a:hover {
        color:#478961;
    }



    <ul id="navigation">
        <li class="dropdown">
            <a href="">Item 1</a>
            <ul class="sub_navigation">
               <li><a href="">Sub item 1</a></li>
               <li><a href="">Sub item 2</a></li>
            </ul>
        </li>
        <li><a href="">Item 2</a></li>
    </ul>

我可以添加哪些sub_navigation样式来垂直显示subenu项目?

由于 维克多

2 个答案:

答案 0 :(得分:3)

由于元素设置为clear:both,只需将float:left添加到子导航中的li元素即可。

ul.sub_navigation li {
    float:left;
    clear:both;
}

答案 1 :(得分:0)

如果这是你想要的,那么这样做没有花车:

    ul.sub_navigation li a {
        display: inline-block;
    }

http://css-tricks.com/fighting-the-space-between-inline-block-elements/