我如何在Twitter Bootstrap 3的容器(12列)中心一个列大小的div ?
.centered {
背景颜色:红色;
}
<!——最新编译和最小化的CSS——>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="匿名">
<身体类= "容器" >
<div class=" font - family -宋体">
<img data-src="holder.js/100x100" alt="" /> .
< / div >
身体< / >
我想要一个div,类。居中在容器中。如果有多个div,我可能会使用一行,但现在我只想要一个div的大小为一列居中容器(12列)。
我也不确定上面的方法是否足够好,因为目的不是将div抵消一半。我不需要在div之外的自由空间和div的内容按比例缩小。我想清空div之外的空间,以均匀分布(收缩直到容器宽度等于一列)。
只需将显示内容的列设置为col-xs-12 (mobile-first;-),并仅配置容器来控制您希望居中内容的宽度,因此:
.container {
背景颜色:蓝色;
}
.centered {
背景颜色:红色;
}
<body class="container col-xs-offset-3 col-xs-6">
<div class=" font - family -宋体">
<img data-src="holder.js/100x100" alt="" /> .
< / div >
身体< / >
<body class="container col-xs-offset-1 col-xs-10">
<div class=" font - family -宋体">
<img data-src="holder.js/100x100" alt="" /> .
< / div >
身体< / >
有关演示,请参见http://codepen.io/Kebten/pen/gpRNMe:-)
要在Bootstrap行中居中多个列-并且cols的数量是奇数,只需将这个css类添加到该行中的所有列:
.many-cols-centered { // To horizontally center bootstrap odd cols, eg col-lg-9, col-md-3, works well in lg
display:inline-block;
float:none;
}
所以在你的HTML中,你有这样的东西:
<div class="row text-center"> <!-- text-center centers all text in that row -->
<div class="col-lg-3 col-md-3 col-sm-3 col-xs-12 many-cols-centered">
<img src='assets/image1.jpg'>
<h3>You See</h3>
<p>I love coding.</p>
</div>
<div class="col-lg-3 col-md-3 col-sm-3 col-xs-12 many-cols-centered">
<img src='assets/image2.jpg'>
<h3>You See</h3>
<p>I love coding.</p>
</div>
<div class="col-lg-3 col-md-3 col-sm-3 col-xs-12 many-cols-centered">
<img src='assets/image3.jpg'>
<h3>You See</h3>
<p>I love coding.</p>
</div>
</div>
这可能不是最好的答案,但有一个更有创意的解决方案。正如koala_dev所指出的,列偏移只适用于相等的列大小。然而,通过嵌套行,您也可以实现居中不均匀的列。
坚持最初的问题,你想要在12个网格中居中一列1。
将2的列居中,使其偏移5
创建一个嵌套行,这样在2列中就有了新的12列。
因为你想要居中1列,而1是2的“一半”(我们在步骤1中居中),现在你需要在嵌套行中居中一个6列,这很容易通过偏移3来实现。
例如:
<div class="container">
<div class="row">
<div class="col-md-offset-5 col-md-2">
<div class="row">
<div class="col-md-offset-3 col-md-6">
centered column with that has an "original width" of 1 col
</div>
</div>
</div>
</div>
</div>
看到这里,请注意,你必须增加输出窗口的大小,以便太看到结果,否则列将自动换行。
要居中的颜色-我们需要使用下面的代码。Cols是除保证金外的浮动元素。我们也将它设为浮点数为0,
<body class="container">
<div class="col-lg-1 col-md-4 centered">
<img data-src="holder.js/100x100" alt="" />
</div>
</body>
为了使上面的col-lg-1的类居中,我们将写:
.centered {
float: none;
margin-left: auto;
margin-right: auto;
}
要将div中的内容居中,请使用text-align:center,
.centered {
text-align: center;
}
如果您只想在桌面和更大的屏幕上居中,而不是在移动设备上,则使用以下媒体查询。
@media (min-width: 768px) {
.centered {
float: none;
margin-left: auto;
margin-right: auto;
}
}
并且只在移动版本上居中div,使用下面的代码。
@media (max-width: 768px) {
.centered {
float: none;
margin-left: auto;
margin-right: auto;
}
}