【问题标题】:How do i change the Navbar Position when Bootstrap goes responsiveBootstrap响应时如何更改导航栏位置
【发布时间】:2013-12-21 07:51:06
【问题描述】:

网站的桌面视图下有一个徽标和一个导航。
我希望导航的位置在切换到移动视图时位于徽标上方(并在徽标和导航栏之间留出一点空间)。

这是桌面视图:

移动端视图:

我希望移动视图成为


HTML:

    <div class="text-center logo">
        <a href="index.html"><img src="img/brand.png" /></a>
        <span class="brand-headline visible-desktop">
            <p class="title-text">Example</p>
        </span>
    </div>

<!-- =begin navigation !-->
    <nav class="navbar navbar-default" role="navigation">
    <div class="container">
      <!-- Brand and toggle get grouped for better mobile display -->
      <div class="navbar-header">
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-target">
          <span class="sr-only">Toggle navigation</span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </button>
        <span class="navbar-brand brand" href="#">Brand</span>
      </div>

      <!-- Collect the nav links, forms, and other content for toggling -->
      <div class="collapse navbar-collapse" id="navbar-target">
        <ul class="nav navbar-nav">
          <li class="active"><a href="#">Schuhe</a></li>
          <li><a href="#">Link</a></li>
      </div><!-- /.navbar-collapse -->
      </div>
    </nav>

【问题讨论】:

  • 请输入代码。前面的驼鹿应该告诉你。
  • 有点不知道该发什么。只有 HTML 结构?
  • HTML 和任何相关的或引导覆盖的 CSS。
  • 刚刚添加了HTML结构。 CSS 几乎没有任何引导覆盖命令。我只是不确定使用 @media 。只是想在响应时将导航更改为固定顶部。
  • 查找@media 查询。这就是他们专门设计的目的。

标签: html css twitter-bootstrap responsive-design


【解决方案1】:

直到有更多对 FlexBox 的支持,我这样做的方式是使用 jQuery 克隆它。我一直这样做,因为 BS3 菜单无论如何都需要 jQuery。

演示: http://jsbin.com/oVifowe/1/

/* __________________ Mobile Menu __________________*/
 $(document).ready(function() {

 $('.navbar').clone().removeClass('hidden-xs').appendTo('.mobile-menu');

 }); //end

HTML:

 <div class="mobile-menu visible-xs"><!--MENU CLONES HERE--></div>

 <div class="text-center logo">
    <a href="index.html"><img src="img/brand.png" /></a>
    <span class="brand-headline visible-desktop">
        <p class="title-text">LOGO</p>
    </span>
</div>

<!-- begin navigation !-->
<nav class="navbar navbar-default hidden-xs" role="navigation">
  <!-- Brand and toggle get grouped for better mobile display -->
  <div class="navbar-header">
    <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-target">
      <span class="sr-only">Toggle navigation</span>
      <span class="icon-bar"></span>
      <span class="icon-bar"></span>
      <span class="icon-bar"></span>
    </button>
  </div>

  <!-- Collect the nav links, forms, and other content for toggling -->
  <div class="collapse navbar-collapse" id="navbar-target">
    <ul class="nav navbar-nav">
      <li class="active"><a href="#">Schuhe</a></li>
      <li><a href="#">Link</a></li>
  </div><!-- /.navbar-collapse -->
  </div>
</nav>

【讨论】:

  • 非常感谢会尝试一下!
【解决方案2】:
@media(max-width: 767px) {
  .navbar.navbar-default {
     position:fixed; top:0; left:0; z-index:1030;
   }
}

您可能还想在平板电脑和更小的平板电脑上为主体或主包装添加顶部填充。

【讨论】:

    【解决方案3】:

    您可以在小型设备上将导航的位置固定在顶部。除此之外,您可能需要为不同版本切换模板,因为您正在更改 html 流的顺序。

    【讨论】:

    • 是的。移动设备上的内容顺序是桌面上内容的顺序。您可以使用绝对位置、浮动、高度和其他内容来操作桌面视图,使其看起来像导航位于标题下方。这将以最小宽度完成
    • Bart 意味着当您修复某些块时,它会从主流中移除并放置在单独的块中。这可能会导致一些不便,您可能必须为主包装器/主体和其他东西添加一些填充。
    • 他在台式机上拥有 A B C,在移动设备上拥有 B A C。以防你没有注意到。
    猜你喜欢
    • 2016-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-15
    • 1970-01-01
    • 2016-10-04
    • 1970-01-01
    相关资源
    最近更新 更多