Bootstrap 导航栏下拉菜单定位
Posted
技术标签:
【中文标题】Bootstrap 导航栏下拉菜单定位【英文标题】:Bootstrap navbar dropdown menu positioning 【发布时间】:2017-07-01 16:33:09 【问题描述】:我正在设计一个网站。在我的网站中,我想创建这样一个菜单,其中导航栏将包含这样一个 ul 类将是 nav navbar-nav navbar-right.缩小页面大小后,会出现下拉按钮。然后如果用户点击按钮,在出现的下拉菜单中li项应该向左浮动,这意味着ul类将是nav navbar-nav navbar-left。我该怎么做?我试过 jquery。但在那种情况下,ul 并没有恢复到原来的 nav navbar- nav navbar-right 类后页面恢复到原来的大小。这里是一个网站的例子-
http://preview.themeforest.net/item/riana-charity-html-template/full_screen_preview/12694958
<header class="header">
<nav class="navbar navbar-default">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Brand</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-right"> <!--This ul class should be changed,when the dropdown button is clicked. -->
<li><a href="#">Link</a></li>
</ul>
</div><!-- /.navbar-collapse -->
</div><!-- /.container-fluid -->
</nav>
</header>
使用 Jquery
$('.navbar-toggle').click(function()
$('#dropdown').removeClass('nav navbar-nav navbar-right');
$('#dropdown').addClass('nav navbar-nav navbar-left');
);
【问题讨论】:
【参考方案1】:您必须在窗口调整大小时添加 navbar-right 类并删除 navbar-left 类
$(window).resize(function()
if($(window).width () > 767) // media query break point
$('#dropdown').removeClass('navbar-left');
$('#dropdown').addClass('navbar-right');
);
您也可以仅使用 CSS 实现此目的
【讨论】:
以上是关于Bootstrap 导航栏下拉菜单定位的主要内容,如果未能解决你的问题,请参考以下文章
当用户在菜单外单击时,如何关闭 Bootstrap 导航栏下拉菜单?