水平滚动导航栏引导程序

时间:2015-11-07 19:56:11

标签: twitter-bootstrap responsive-design navbar horizontal-scrolling

我的网站右侧有一个导航栏,但如果我像平板电脑屏幕那样调整屏幕大小,则导航栏会显示2行。

我的导航栏html代码是基本的:

<div class="nav_div col-sm-offset-5 col-sm-7"> 
        <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-nav" 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>
            </div>
            <!-- Collect the nav links, forms, and other content for toggling -->
            <div class="collapse navbar-collapse" id="bs-nav">
              <ul class="nav navbar-nav navbar-center">
                <li data-menuanchor="blablab" class="active"><a href="#blablab">blablab</a></li>
                <li data-menuanchor="blablab"><a href="#blablab">blablab</a></li>
                <li data-menuanchor="blablab"><a href="#blablab">blablab</a></li>
                <li data-menuanchor="blablab"><a href="#blablab">blablab</a></li>
                <li data-menuanchor="blablab"><a href="#blablab">blablab</a></li>
                <li data-menuanchor="blablab"><a href="#blablab">blablab</a></li>
              </ul>
            </div><!-- /.navbar-collapse -->
          </div><!-- /.container-fluid -->
        </nav>    
    </div>

enter image description here

我搜索有一个自动水平滚动条,其中活动标签位于中间。

1 个答案:

答案 0 :(得分:2)

问题是:<div class="nav_div col-sm-offset-5 col-sm-7"></div> 您的col-sm-7不足以在视口调整大小时保留您的内容,因此会将内容推送到新行。

您可以将其更改为此<div class="nav_div col-sm-offset-3 col-sm-9">这样的简单清洁解决方案。

使用演示的两个解决方案:

<div class="nav_div col-sm-offset-3 col-sm-9"> 
        <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-nav" 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>
            </div>
            <!-- Collect the nav links, forms, and other content for toggling -->
            <div class="collapse navbar-collapse" id="bs-nav">
              <ul class="nav navbar-nav navbar-center">
                <li data-menuanchor="blablab" class="active"><a href="#blablab">blablab</a></li>
                <li data-menuanchor="blablab"><a href="#blablab">blablab</a></li>
                <li data-menuanchor="blablab"><a href="#blablab">blablab</a></li>
                <li data-menuanchor="blablab"><a href="#blablab">blablab</a></li>
                <li data-menuanchor="blablab"><a href="#blablab">blablab</a></li>
                <li data-menuanchor="blablab"><a href="#blablab">blablab</a></li>
              </ul>
            </div><!-- /.navbar-collapse -->
          </div><!-- /.container-fluid -->
        </nav>    
    </div>

CODEPEN DEMO 1

您可以在CSS中操纵导航链接的填充,这样您仍可以使用<div class="nav_div col-sm-offset-5 col-sm-7"></div>,而不会在屏幕调整大小时突破到新行。

.navbar-nav > li > a{
   line-height: 50px;
   padding: 0 5px;
}

CODEPEN DEMO 2

如果您想要垂直滚动,则需要减少列的大小,但如果您使用引导程序,这不是构建导航的好方法。

<div class="nav_div col-sm-offset-5 col-sm-3"> 
        <nav class="navbar navbar-default">
          <div class="container-fluid">
            <!-- Collect the nav links, forms, and other content for toggling -->
              <ul class="nav navbar-nav navbar-center">
                <li data-menuanchor="blablab" class="active"><a href="#blablab">blablab</a></li>
                <li data-menuanchor="blablab"><a href="#blablab">blablab</a></li>
                <li data-menuanchor="blablab"><a href="#blablab">blablab</a></li>
                <li data-menuanchor="blablab"><a href="#blablab">blablab</a></li>
                <li data-menuanchor="blablab"><a href="#blablab">blablab</a></li>
                <li data-menuanchor="blablab"><a href="#blablab">blablab</a></li>
              </ul>
          </div><!-- /.container-fluid -->
        </nav>    
    </div>

CSS:

.navbar{
   max-height: 40px;
   overflow-y: scroll;
}

CODEPEN DEMO 3