Actualización 2019 - Bootstrap 4
"Contenido centrado" puede significar muchas cosas diferentes, y el centrado de Bootstrap ha cambiado mucho desde la publicación original.
Centro horizontal
Bootstrap 3
text-center
se utiliza para display:inline
elementos
center-block
para centrar display:block
elementos
col-*offset-*
para centrar columnas de cuadrícula
- mira esta respuesta para centrar la barra de navegación
Demo Bootstrap 3 Centrado horizontal
Bootstrap 4
text-center
todavía se usa para display:inline
elementos
mx-auto
reemplaza center-block
a display:block
elementos centrales
offset-*
o mx-auto
puede usarse para centrar columnas de cuadrícula
justify-content-center
en row
también se puede utilizar para centrarcol-*
mx-auto
(márgenes de auto-eje X) se centrarán display:block
o display:flex
elementos que tienen una anchura definida , ( %
, vw
, px
, etc ..). Flexbox se usa por defecto en las columnas de la cuadrícula, por lo que también hay varios métodos de centrado de flexbox.
Demo Bootstrap 4 Centrado horizontal
Centro vertical
Ahora que Bootstrap 4 es flexbox por defecto, existen muchos enfoques diferentes para la alineación vertical: márgenes automáticos , utilidades de flexbox o utilidades de visualización junto con utilidades de alineación vertical . Al principio, "utilidades de alineación vertical" parece obvio, pero solo funcionan con elementos de visualización en línea y de tabla. Aquí hay algunas opciones de centrado vertical Bootstrap 4.
1 - Centro vertical usando márgenes automáticos:
Otra forma de centrar verticalmente es usar my-auto
. Esto centrará el elemento dentro de su contenedor. Por ejemplo, h-100
hace que la fila tenga toda la altura y my-auto
centrará verticalmente la col-sm-12
columna.
<div class="row h-100">
<div class="col-sm-12 my-auto">
<div class="card card-block w-25">Card</div>
</div>
</div>
Centro vertical con demostración de márgenes automáticos
my-auto
representa los márgenes en el eje vertical y y es equivalente a:
margin-top: auto;
margin-bottom: auto;
2 - Centro vertical con Flexbox:
Dado que Bootstrap 4 .row
es ahora display:flex
, simplemente puede usarlo align-self-center
en cualquier columna para centrarlo verticalmente ...
<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>
o, use align-items-center
en su totalidad .row
para alinear verticalmente en el centro todo col-*
en la fila ...
<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>
Demostración de columnas de altura vertical de centro vertical
3 - Centro vertical usando las utilidades de pantalla:
Bootstrap 4 tiene utils de visualización que se pueden utilizar para display:table
, display:table-cell
, display:inline
, etc .. Estos pueden ser usados con los utils de alineación vertical a inline align, elementos de celda de tabla inline-block o.
<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>
Centro vertical con demostración de utilidades de pantalla