更新2019-Bootstrap 4
“居中的内容”可能意味着许多不同的东西,并且自发布以来,Bootstrap居中已发生了很大变化。
水平中心
引导程序3
text-center
用于display:inline
元素
center-block
以display:block
元素为中心
col-*offset-*
居中网格列
- 查看此答案以使导航栏居中
演示Bootstrap 3水平居中
引导程序4
text-center
仍用于display:inline
元素
mx-auto
替换center-block
为中心display:block
元素
offset-*
或 mx-auto
可用于居中网格列
justify-content-center
中row
也可以用于居中col-*
mx-auto
(自动x轴边距)将围绕display:block
或display:flex
具有一元件限定的宽度,( ,,%
等。)。默认情况下,在网格列上使用Flexbox,因此也有多种Flexbox居中方法。vw
px
演示 Bootstrap 4水平居中
垂直中心
现在,默认情况下,Bootstrap 4是flexbox,因此有许多不同的垂直对齐方法可以使用:auto-margins,flexbox utils或display utils以及vertical align utils。乍一看,“ vertical align utils”似乎很明显,但它们仅适用于内联和表显示元素。这是一些Bootstrap 4垂直居中选项。
1-使用自动页边距的垂直中心:
垂直居中的另一种方法是使用my-auto
。这将使元素在容器内居中。例如,h-100
使行全高,并使列my-auto
垂直居中col-sm-12
。
<div class="row h-100">
<div class="col-sm-12 my-auto">
<div class="card card-block w-25">Card</div>
</div>
</div>
使用自动边距演示的垂直中心
my-auto
代表垂直y轴上的边距,它等效于:
margin-top: auto;
margin-bottom: auto;
2-带Flexbox的垂直中心:
由于.row
现在display:flex
使用Bootstrap 4,因此您可以align-self-center
在任何列上直接使用以使其垂直居中...
<div class="row">
<div class="col-6 align-self-center">
<div class="card card-block">
Center
</div>
</div>
<div class="col-6">
<div class="card card-inverse card-danger">
Taller
</div>
</div>
</div>
或者,align-items-center
整体.row
上使所有col-*
行垂直居中对齐...
<div class="row align-items-center">
<div class="col-6">
<div class="card card-block">
Center
</div>
</div>
<div class="col-6">
<div class="card card-inverse card-danger">
Taller
</div>
</div>
</div>
垂直中心不同高度的列演示
3-使用显示实用程序的垂直居中:
自举4具有显示utils的,可以被用于display:table
,display:table-cell
,display:inline
等。这些可与所使用的垂直取向utils的要对齐的内联,内联块或表格单元格的元件。
<div class="row h-50">
<div class="col-sm-12 h-100 d-table">
<div class="card card-block d-table-cell align-middle">
I am centered vertically
</div>
</div>
</div>
垂直中心使用显示实用程序演示