以下是我在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>@H_301_4@正如您在psuedo-code注释中所看到的,我希望根据屏幕大小,只有中间列是流畅的. @H_301_4@Bootstrap的容器流体方式是否可行?或者我应该通过其他方式?
解决方法
列没有固定宽度的“Bootstrap方式”.因此,我们可以使用CSS在几个方面做你想做的事情
@H_301_4@>使用flexBox(最佳方式) – Demo.
.row { display: flex; } .fixed-side-column { width: 250px; } .fluid-middle-column { flex-grow: 1; }@H_301_4@>使用calc()(或等效的JavaScript)记住browser support – Demo
.row > div { float:left; /* Could also use display: inline-block. */ } .fixed-side-column { width:250px; } .fluid-middle-column { width:calc(100% - 500px); }@H_301_4@>在中间元素上使用绝对定位和填充以消除任何计算的需要 – Demo @H_301_4@你必须改变一些标记
<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; }@H_301_4@您需要添加自定义媒体查询来处理屏幕变小时发生的情况.