如何在使用bootstrap滚动时修复一些div?

时间:2017-07-10 06:26:46

标签: html5 twitter-bootstrap css3 affix

我在Angular 2项目中使用bootstrap,我希望在用户向下滚动页面的同时冻结几个div(在代码中使用id作为过滤器和类别),而用户向下滚动页面。

这是我在jsfiddle here

中的代码

代码段:

    <nav class="navbar navbar-default navbar-fixed-top">
    <div class="container">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>

        </div>
        <div id="navbar" class="collapse navbar-collapse">
            <ul class="nav navbar-nav">

                <li routerLinkActive="active"><a routerLink="/overview">Overview</a></li>
                <li routerLinkActive="active"><a routerLink="/insights">Insights</a></li>
            </ul>






        </div>
        <!--/.nav-collapse -->


    </div>
</nav>


<div id="filters" class="container-fluid" style="margin-top: 60px" >

    <div class="row">
      <div class="col-md-2 col-sm-4">
        <button>Filter 1</button>
      </div>
       <div class="col-md-2 col-sm-4">
       <button>Filter 2</button>
       </div> 
    </div>
</div>

<div id="categories" class="container-fluid"  >
    <div class="row">
         <ul class="nav navbar-nav">

                <li><a routerLink="#">Sub Category 1</a></li>
                <li><a routerLink="#">Sub Category 2</a></li>
            </ul>

    </div>

    <div class="row">

        <div class="col-md-6 col-sm-12 col-xs-12">
            <div style="background: blue; height: 800px;">
              Trend Chart
            </div>
        </div>
        <div class="col-md-6 col-sm-12 col-xs-12">
            <div style="background: green; height: 800px;">
              Bar Chart
            </div>
        </div>
    </div>



</div>

我尝试过使用bootstrap&#39; affix&#39;但是它打破了滚动和“过滤器”的边距。和&#39;类别&#39;可以看到div here

请告诉我,如果我遗漏了其他任何需要添加以便加入工作的内容。

2 个答案:

答案 0 :(得分:1)

要实现您的目标,您需要使用position: fixedz-index: 1030 CSS与您的div

这里是jsfiddle

在div中使用此CSS

<div id="filters" class="container-fluid" 
style="margin-top: 60px; position: fixed; z-index: 1030;">

    <div class="row">
      <div class="col-md-2 col-sm-4">
        <button>Filter 1</button>
      </div>
       <div class="col-md-2 col-sm-4">
       <button>Filter 2</button>
       </div> 
    </div>
</div>

答案 1 :(得分:0)

在要修复的div中使用style属性“position:fixed”。 同时将z-index值设置为100.(这是为了在滚动时显示所有其他div的固定div)。

示例:

<div id="filters" class="container-fluid" style="margin-top: 60px;position:fixed;z-index:999;" >

    <div class="row">
      <div class="col-md-2 col-sm-4">
        <button>Filter 1</button>
      </div>
       <div class="col-md-2 col-sm-4">
       <button>Filter 2</button>
       </div> 
    </div>
</div>

<div id="categories" class="container-fluid" style="position:fixed;z-index:999;" >
    <div class="row">
         <ul class="nav navbar-nav">

                <li><a routerLink="#">Sub Category 1</a></li>
                <li><a routerLink="#">Sub Category 2</a></li>
            </ul>

    </div>

    <div class="row">

        <div class="col-md-6 col-sm-12 col-xs-12">
            <div style="background: blue; height: 800px;">
              Trend Chart
            </div>
        </div>
        <div class="col-md-6 col-sm-12 col-xs-12">
            <div style="background: green; height: 800px;">
              Bar Chart
            </div>
        </div>
    </div>
</div>