Bootstrap中心下拉菜单

时间:2015-05-15 15:26:08

标签: html css twitter-bootstrap-3

我的导航中有一个下拉菜单,其中有三列,如下所示:

<li class="dropdown">
    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Dropdown <span class="caret"></span></a>
    <ul class="dropdown-menu" role="menu">
        <div class="container">
            <div class="row">
                <ul class="list-unstyled col-md-4">
                    <li><a href="#">test1-1</a></li>
                    <li><a href="#">test1-2</a></li>
                    <li><a href="#">test1-3</a></li>
                </ul>
                <ul class="list-unstyled col-md-4">
                    <li><a href="#">test2-1</a></li>
                    <li><a href="#">test2-2</a></li>
                    <li><a href="#">test2-3</a></li>
                </ul>
                <ul class="list-unstyled col-md-4">
                    <li><a href="#">test3-1</a></li>
                    <li><a href="#">test3-2</a></li>
                    <li><a href="#">test3-3</a></li>
                </ul>
            </div>
        </div>
    </ul>
</li>

它可以工作,但是当我点击下拉列表时,下拉列表的偏移量就是下拉链接的位置。如何将下拉菜单置于中心而不是将其定位在下拉链接的位置?正如您在此屏幕截图中看到的那样,下拉菜单不会居中。

Nav Offset Example

1 个答案:

答案 0 :(得分:0)

这给了我正在寻找的结果:

.nav > li.dropdown{ position: static; }
.nav > li.dropdown .dropdown-menu {display: none; width: 100%; left:0; right:0; }
.dropdown-menu>li { display: inline-block; }

然后我还有这个javascript用于悬停效果:

$('ul.nav li.dropdown').hover(function(){
    $(this).find('.dropdown-menu').stop(true, true).delay(200).fadeIn();
}, function(){
    $(this).find('.dropdown-menu').stop(true, true).delay(200).fadeOut();
});