如何在引导程序中只使一个列流体

时间:2014-09-29 12:27:32

标签: layout twitter-bootstrap-3

以下是我在Bootstrap 3.2中的布局结构:

<div class="container-fluid">
    <div class="row">
        <div class="col-xs-3">
            <!-- I want this column to be fixed. -->
        </div>
        <div class="col-xs-6">
            <!-- I want only this column to be fluid. -->
        </div>
        <div class="col-xs-3">
            <!-- I want this column to be fixed. -->
        </div>
    </div>
</div>

正如您在psuedo-code注释中所看到的,我希望根据屏幕大小,只有中间列是流畅的。

是否可以container-fluid方式使用Bootstrap?或者我应该通过其他方式?

1 个答案:

答案 0 :(得分:8)

没有&#34; Bootstrap方式&#34;使列具有固定宽度。因此,我们可以使用CSS在几个方面做你想做的事情

  1. 使用flexbox (最佳方式) - Demo
  2. .row {
      display: flex;
    }
    .fixed-side-column {
      width: 250px;
    }
    .fluid-middle-column {
      flex-grow: 1;
    }
    
    1. 请谨记calc() - browser support
    2. 使用.row > div { float:left; /* Could also use display: inline-block. */ } .fixed-side-column { width:250px; } .fluid-middle-column { width:calc(100% - 500px); } (或等效的JavaScript)

      <div class="container-fluid">
       <div class="row">
          <div class="fluid-middle-column">
            <!-- I want only this column to be fluid. -->
          </div>
          <div class="fixed-side-column">
            <!-- I want this column to be fixed. -->
          </div>    
          <div class="fixed-side-column right">
            <!-- I want this column to be fixed. -->
          </div>
        </div>
      </div>
      
      /* CSS */
      .fixed-side-column {
        width:250px;
        float:left;
      }
      .right {
        float:right;
      }
      .fluid-middle-column {
        position:absolute;
        z-index:-1;
        top:0;
        left:0;
        width:100%;
        padding: 0 250px 0 250px;
      }
      
      1. 在中间元素上使用绝对定位和填充以消除任何计算的需要 - Demo
      2. 您必须更改标记

        {{1}}

        您需要添加自定义媒体查询来处理屏幕越来越小时发生的情况。