【问题标题】:How to fix some divs on top while scrolling using bootstrap?使用引导程序滚动时如何在顶部修复一些 div?
【发布时间】:2017-07-10 06:26:45
【问题描述】:

我在 Angular 2 项目中使用引导程序,我想在用户向下滚动页面时始终冻结几个 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>

我曾尝试使用引导程序的“词缀”,但它破坏了“过滤器”和“类别”div 的滚动和边距,如 here 所示

如果我遗漏了任何其他需要添加以使词缀起作用的内容,请告诉我。

【问题讨论】:

  • 您是否尝试使用position fixed

标签: html twitter-bootstrap css affix


【解决方案1】:

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

这是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>

【讨论】:

  • 谢谢阿什库尔。我能够修复过滤器和类别 div。但是,当我滚动时,内容(蓝色\绿色 div)仍然不会在这些 div 下方停止。为了清楚起见,在下面的小提琴中:https://jsfiddle.net/ugufn63z/7/,当用户滚动时,蓝色\绿色 div 不应该越过红线。知道如何实现吗?
  • 我更新了我的答案。您可以查看fiddle
【解决方案2】:

在要修复的两个 div 中使用样式属性“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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-04
    相关资源
    最近更新 更多