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 4打开多个导航栏下拉菜单,无需切换

Bootstrap 导航栏下拉菜单项右侧

Bootstrap 导航栏下拉菜单项右侧

当用户在菜单外单击时,如何关闭 Bootstrap 导航栏下拉菜单?

导航栏下拉菜单不适用于 Angular 和 Bootstrap 4

如何在折叠的导航栏中默认打开 Bootstrap 3 下拉菜单