Estoy tratando de seguir un ejemplo muy básico. Usando la página de inicio y el sistema de cuadrícula , esperaba lo siguiente:
<div class="row">
<div class="span12">
<h1>Bootstrap starter template</h1>
<p>Example text.</p>
</div>
</div>
... produciría texto centrado.
Sin embargo, todavía aparece en el extremo izquierdo. ¿Qué estoy haciendo mal?
<center>
está en desuso a favor de lotext-align: center
cual, por cierto, es exactamente lo que.text-center
envuelve la clase bootstrap .Respuestas:
Esto es para el centrado de texto (de eso se trataba la pregunta )
Para otros tipos de contenido, vea la respuesta de Flavien .
Actualización: Bootstrap 2.3.0+ Respuesta
La respuesta original era para una versión inicial de bootstrap. A partir de bootstrap 2.3.0, simplemente puede darle al div la clase
.text-center
.Respuesta original (pre 2.3.0)
Necesita definir una de las dos clases,
row
ospan12
con atext-align: center
. Ver http://jsfiddle.net/xKSUH/ o http://jsfiddle.net/xKSUH/1/fuente
text-align: center
no está predeterminado en esas clases. Normalmente, el valor predeterminado será laleft
alineación..pagination-centered
también funciona: P le ahorra la pulsación de tecla de agregar otra clase.pagination-centered
requiere que agregue otra clase al html. Mi respuesta anterior a la 2.3.0 solo requiere que uno expanda la definición de propiedad de una clase que ya está allí. Además, si observa los comentarios sobre la respuesta usandopagination-centered
, encontrará algunas objeciones y advertencias relacionadas con eso. Pero si funciona para usted en su caso, ¡hágalo! :-)NOTA: esto se eliminó en Bootstrap 3 .
Pre-Bootstrap 3, puede usar la clase CSS de
pagination-centered
esta manera:La clase
pagination-centered
ya está en bootstrap.css (o bootstrap.min.css) y tiene la única regla:Con Bootstrap 2.3.0. solo usa class
text-center
fuente
.text-center
en el padre es la solución correcta para esta versión.Supongo que la mayoría de la gente aquí está buscando la forma de centrar todo
div
y no solo el contenido del texto (lo cual es trivial ...).La segunda forma (en lugar de usar text-align: center) para centrar las cosas en HTML es tener un elemento con un ancho fijo y un margen automático (izquierda y derecha). Con Bootstrap, el estilo que define los márgenes automáticos es la clase "contenedor".
Eche un vistazo aquí para obtener un violín: http://jsfiddle.net/D2RLR/7788/
fuente
col-*offset-*
. por ejemplo<div class="col-10 offset-1">
o<div class="col-8 offset-2">
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 paradisplay:inline
elementoscenter-block
para centrardisplay:block
elementoscol-*offset-*
para centrar columnas de cuadrículaDemo Bootstrap 3 Centrado horizontal
Bootstrap 4
text-center
todavía se usa paradisplay:inline
elementosmx-auto
reemplazacenter-block
adisplay:block
elementos centralesoffset-*
omx-auto
puede usarse para centrar columnas de cuadrículajustify-content-center
enrow
también se puede utilizar para centrarcol-*
mx-auto
(márgenes de auto-eje X) se centrarándisplay:block
odisplay: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 ymy-auto
centrará verticalmente lacol-sm-12
columna.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:2 - Centro vertical con Flexbox:
Dado que Bootstrap 4
.row
es ahoradisplay:flex
, simplemente puede usarloalign-self-center
en cualquier columna para centrarlo verticalmente ...o, use
align-items-center
en su totalidad.row
para alinear verticalmente en el centro todocol-*
en la fila ...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.Centro vertical con demostración de utilidades de pantalla
fuente
.className-of-inner-div { display: inline-block; text-align: left; padding-top: 25%; padding-bottom: 20%; margin-top: auto; margin-bottom: auto; } .className-of-Grid-column { vertical-align:middle; text-align: center; }
Bootstrap 3.1.1 tiene una
.center-block
clase para centrar divs. Ver: http://getbootstrap.com/css/#helper-classes-center .O, como ya han dicho otros, use la
.text-center
clase para centrar el texto.fuente
La mejor manera de hacer esto es definir un estilo CSS:
Luego, donde sea que necesite texto centrado, lo agrega así:
o si solo quieres centrar la etiqueta p:
Cuanto menos css en línea use, mejor.
fuente
La clase .show-grid está aplicando texto alineado al centro en el ejemplo en el enlace.
Siempre puede agregar
style="text-align:center"
a su fila div o alguna otra clase, creo.fuente
A partir de febrero de 2013, en algunos casos, agrego una clase "centrada" al div "span":
y a CSS:
La razón de esto es porque los span * div se flotan hacia la izquierda, y la técnica de centrado de "margen automático" funciona solo si el div no se flota.
Demostración (en JSFiddle): http://jsfiddle.net/5RpSh/8/embedded/result/
JSFiddle: http://jsfiddle.net/5RpSh/8/
fuente
Si usa Bootstrap 3, también tiene una clase CSS incorporada llamada .text-center . Eso es lo que quieres.
Por favor vea el ejemplo en jsfiddle. http://jsfiddle.net/ucheng/Q4Fue/
fuente
Bootstrap 2.3 tiene una
text-center
clase.fuente
Por mi parte, defino nuevos
CSS
estilos listos para usar y fáciles de recordar:¿Es una buena idea? ¿Hay alguna buena práctica para esto?
fuente
span12
Si está utilizando Bootstrap 2.0+
Esto puede hacer que el div se centre en la página.
fuente
Cualquier clase de utilidad de alineación de texto haría el truco. Bootstrap ha estado usando la
.text-center
clase para centrar texto durante mucho tiempo.O puede crear sus propias utilidades. Algunas variaciones que he visto a lo largo de los años:
fuente
Necesita ajustar con el
.span
.Ejemplo:
fuente
Mi método preferido para centrar bloques de información mientras se mantiene la capacidad de respuesta (compatibilidad móvil) es colocar dos
span1
divisiones vacías antes y después del contenido que desea centrar.fuente
Para Bootstrap versión 3.1.1 y superior, la mejor clase para centrar el contenido es la
.center-block
clase auxiliar.fuente
No use líquido contenedor en la tubería principal.
fuente
centered
clase en tu código que creará mucha confusiónEl bloqueo central también es una opción que no se menciona en las respuestas anteriores
Toda la clase
center-block
es decirle al elemento que tenga un margen de 0 automático, siendo el automático los márgenes izquierdo / derecho. Sin embargo, a menos que la clase text-center o css text-align: center; se establece en el elemento primario, el elemento no conoce el punto desde el que se puede calcular este cálculo automático, por lo que no se centrará como se esperaba.Entonces text-center es una mejor opción.
fuente
Puedes usar cualquiera de los siguientes tipos
text-center
.style = "text-align:center"
.Use un desplazamiento de columna:
Ejemplo:
<div class="col-md-offset-6 col-md-12"></div>
fuente
Creé esta clase para mantener el centrado independientemente del tamaño de la pantalla y al mismo tiempo mantener características receptivas:
fuente
Simplemente use una clase, centro de texto, para el div o la etiqueta que desee. Creo que puede funcionar bien. Es una clase Bootstrap para el centro de alineación de texto.
Aquí hay algunas clases de Bootstrap de alineación de texto:
fuente
Lo intenté de dos maneras, y funcionó bien para centrar el div. Ambas formas alinearán los divs en todas las pantallas.
Forma 1: Usando Push:
Camino 2: Usando Offset:
Resultado:
Explicación
Bootstrap designará a la izquierda, la primera columna de la ocupación de pantalla especificada. Si usamos offset o push, cambiará la columna 'this' por 'esas' muchas columnas. Aunque enfrenté algunos problemas en la capacidad de respuesta de la compensación, el impulso fue increíble.
fuente
Actualización 2018:
En Bootstrap 4.1.3 , el contenido puede centrarse usando la clase
mx-auto
.Referencia: https://getbootstrap.com/docs/4.1/utilities/spacing/#horizontal-centering
fuente