【问题标题】:Nav bar disappears at 769px width导航栏在 769px 宽度处消失
【发布时间】:2017-07-17 12:14:36
【问题描述】:

我正在使用 Bootstrap navbar-fixed-top 方法来创建浮动导航栏。

我有几个问题我想不通:

  • 当我将屏幕宽度减小到 769 像素时,为什么我的徽标和社交图标消失了?
  • 为什么我的徽标和社交图标位于页面顶部?
  • 我的社交图标太小而且彼此相邻。我该如何更改?

http://codepen.io/dhruvghulati/pen/qrdNBm

我应该怎么做才能拥有更标准的持久导航栏?

【问题讨论】:

  • 请花点时间到read the docscollapse 中的所有内容都将折叠

标签: css twitter-bootstrap twitter-bootstrap-3 navbar nav


【解决方案1】:

我认为这是因为您使用 position:absolute; 尝试改用 position: relative;

【讨论】:

  • 很抱歉,您能说得更具体点吗?我在哪里使用position:absolute?它不在我的 codepen CSS 中。
  • 他需要一个静态导航栏,这就是为什么它是绝对的。
【解决方案2】:

您可能应该访问官方Bootstrap docs 以获取有关导航栏的更多信息。我会用它作为你的导航栏的模板,然后从那里开始:

<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">
    <li class="active"><a href="#">Link <span class="sr-only">(current)</span></a></li>
    <li><a href="#">Link</a></li>
    <li class="dropdown">
      <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <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>
  </ul>
  <form class="navbar-form navbar-left">
    <div class="form-group">
      <input type="text" class="form-control" placeholder="Search">
    </div>
    <button type="submit" class="btn btn-default">Submit</button>
  </form>
  <ul class="nav navbar-nav navbar-right">
    <li><a href="#">Link</a></li>
    <li class="dropdown">
      <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <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>
      </ul>
    </li>
  </ul>
</div><!-- /.navbar-collapse -->

本质上,Bootstrap 将您的导航链接替换为该屏幕尺寸的汉堡按钮。此外,您应该为徽标提供适当的类(来自上面的代码)以确保它始终可见。要使导航栏贴在页面顶部,只需将navbar-fixed-top 类添加到导航标签即可。开始标签现在应该如下所示:&lt;nav class="navbar navbar-default navbar-fixed-top"&gt;

【讨论】:

  • 是什么具体导致了引用的 3 个问题?我不需要很多功能,例如切换您在答案中给出的内容。
  • 我在答案的底部解决了您的两个问题。另外,我知道您不需要代码中的所有内容,但这是官方 Bootstrap 文档中给出的模板。您需要正确使用导航栏才能使其按您的意愿行事。
  • 你是对的,我试过这个,它在一定程度上完成了这项工作。当我向下移动页面时,我希望整个事情保持不变,这样它总是可见的。我该怎么做?
  • 哦,好的。我会将其添加到我的答案中。但是,您需要做的就是将 navbar-fixed-top 类添加到您的导航中。
【解决方案3】:

.collapse 类如下所示:

.collapse {
    display: none;
    visibility: hidden;
}

还有:

@media (min-width: 768px)
.navbar-collapse.collapse {
    display: block!important;
    height: auto!important;
    padding-bottom: 0;
    overflow: visible!important;
    visibility: visible!important;
}

这意味着 .collapse 在屏幕宽度为 768 像素之前不会显示。

还有(用于标识):

@media (min-width: 768px)
.navbar-left {
    float: left!important;
}

由于屏幕宽度为 768px,因此徽标会向左浮动,.navbar-right 有类似的类,用于社交图标容器。

【讨论】:

  • 明白,这完全有道理!在这种情况下,您有什么建议?还有,图标被捆绑在一起怎么办?
  • 默认情况下,当屏幕小于 768px 时,bootstrap 会显示菜单按钮,但您似乎删除了该功能,如果您想在小屏幕上显示相同的导航栏,请删除 .collapse类,因此默认情况下不会隐藏,并将那些 .navbar-left .navbar-ritht 类带出@media min-width 条件。毕竟它仍然需要一些触摸,但它们应该是可见的,徽标将在左侧,图标将在右侧。
  • 我希望整个页面在我向下移动页面时保持固定,以便它始终可见。我用了什么@H。艾伦在下面说道。我该怎么做?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多