【问题标题】:Bootstrap navbar breaking in two rows issueBootstrap 导航栏分成两行问题
【发布时间】:2016-03-16 19:19:35
【问题描述】:

第一个问题:

我正在尝试在一行中创建一个导航栏,但是,即使有足够的空间,它也会分成两行。我不想在 collapse navbar-collapse div 中包含 Sign in 按钮。

这是我得到的:

https://jsfiddle.net/fsjowxqn/

第二个问题:

即使用户向下滚动,我也希望我的导航栏保持可见,我添加了 navbar-static-top 类,如下所示:

<nav class="navbar navbar-default navbar-static-top">

但它似乎不起作用。

任何帮助将不胜感激。提前致谢。

【问题讨论】:

标签: html css twitter-bootstrap navbar nav


【解决方案1】:

将 navbar-left 添加到折叠导航 div

&lt;div class="collapse navbar-collapse navbar-left" id="bs-example-navbar-collapse-1"&gt;

将 sign_in 类添加到您的登录按钮父级

&lt;ul class="nav navbar-nav navbar-right sign_in"&gt;

然后添加下面的css

@media (max-width: 767px) {
  .sign_in {
    position: absolute;
    right: 100px;
    top: -7px;
  }
}

希望它适用于您的场景

【讨论】:

  • 谢谢它的工作原理!但是无需将 navbar-left 添加到折叠导航 div 和 top: -7px;
【解决方案2】:

您将最后一个按钮放置在错误的 div 中(请参阅****移至此处****)

  <nav class="navbar navbar-default navbar-static-top">
    <div class="container">
    <!-- 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">
      <li class="active"><a href="#">Homepage <span class="sr-only">(current)</span></a></li>
      <li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Forum <span class="caret"></span></a>
        <ul class="dropdown-menu">
        <li><a href="#">Action</a></li>
        <li><a href="#">Another action</a></li>
        <li><a href="#">Something else here</a></li>
        <li role="separator" class="divider"></li>
        <li><a href="#">Separated link</a></li>
        <li role="separator" class="divider"></li>
        <li><a href="#">One more separated link</a></li>
        </ul>
      </li>
        <li><a href="#">Become a Moderator</a></li>
        <li><a href="#">Contact</a></li>
        <li><a href="#">Donate</a></li>
      </ul>
      <ul class="nav navbar-nav navbar-right"><!-- *****move here *****-->
      <li><button type="button" class="btn btn-info navbar-btn">Sign in</button></li>
      </ul>      
    </div><!-- /.navbar-collapse -->

    </div><!-- /.container-fluid -->
  </nav>

第二个问题

和固定使用的导航栏固定顶部

 <nav class="navbar navbar-default navbar-fixed-top">

【讨论】:

  • 感谢您的回复,但正如我所说,我不想在 collapse navbar-collapse div 中包含 Sign in 按钮。所以我是故意的。
【解决方案3】:
  1. 登录按钮应与导航中的某些元素对齐,例如导航栏标题或容器。比如这样:

  2. 将 navbar-static-top 更改为 navbar-fixed-top:

这是我更新的 JSFiddle:https://jsfiddle.net/Pontual/fsjowxqn/3/

<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>
      <ul class="nav navbar-nav navbar-right">
            <li><button type="button" class="btn btn-info navbar-btn">Sign in</button></li>
          </ul>
        </div>

【讨论】:

  • 好的,它看起来更好,但我希望按钮位于右侧。这就是我实际上想要做的..
  • 我已经更新了 jsfiddle 并且使用
  • 只有在div折叠的情况下才有效,试着放大输出窗口看看还是不行。另外,我希望登录按钮位于右侧,在您的 jsfiddle 中,它仍位于“显示菜单”按钮的左侧。
猜你喜欢
  • 1970-01-01
  • 2016-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-13
  • 2021-09-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多