¿Cómo centro un div de un tamaño de columna dentro del contenedor (12 columnas) en Twitter Bootstrap 3 ?
.centered {
background-color: red;
}
<body class="container">
<div class="col-lg-1 col-offset-6 centered">
<img data-src="holder.js/100x100" alt="" />
</div>
</body>
Quiero un div, con una clase .centeredcentrada dentro del contenedor. Puedo usar una fila si hay múltiples divs, pero por ahora solo quiero una divcon el tamaño de una columna centrada dentro del contenedor (12 columnas).
Tampoco estoy seguro de que el enfoque anterior sea lo suficientemente bueno, ya que la intención no es compensarlo a la divmitad. No necesito espacios libres fuera divy el contenido del divencogimiento en proporción. Quiero vaciar el espacio fuera del div para distribuirlo uniformemente (reducir hasta que el ancho del contenedor sea igual a una columna).

.clearfixno funcionaría en este caso porque no elimina la propiedad flotante de los elementos (que se necesita para centrar el usomargin: 0 auto), solo hace que un contenedor envuelva cualquier elemento flotante dentrofloat:none;El método preferido de centrado de columnas es el uso de "compensaciones" (es decir:
col-md-offset-3)Ejemplos de centrado de Bootstrap 3.x
Para centrar elementos , hay una
center-blockclase auxiliar .También puede usar
text-centerpara centrar texto (y elementos en línea).Demostración : http://bootply.com/91632
EDITAR : como se menciona en los comentarios,
center-blockfunciona en los contenidos ydisplay:blockelementos de lacolumna, pero no funcionará en la columna en sí (col-*divs) porque usa Bootstrapfloat.Actualización 2018
Ahora con Bootstrap 4 , los métodos de centrado han cambiado.
text-centertodavía se usa paradisplay:inlineelementosmx-autoreemplazacenter-blocka losdisplay:blockelementos centralesoffset-*omx-autopuede usarse para centrar columnas de cuadrículamx-auto(márgenes de auto-eje X) se centrarándisplay:blockodisplay:flexelementos 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
Para el centrado vertical en BS4, consulte https://stackoverflow.com/a/41464397/171456
fuente
text-centerdetalles, que ninguna de las otras respuestas proporcionó. Éste tiene mi voto.float:none;Ahora está trabajando Bootstrap 3.1.1
.center-block, y esta clase auxiliar funciona con el sistema de columnas.Bootstrap 3 Helper Class Center .
Por favor, compruebe esta DEMO jsfiddle :
Centro de columna de fila usando
col-center-blockclase auxiliar.fuente
float:noneasegurándome de que el bloque central div tenga elstyle="width : ?px"estilo aplicado. Por ejemplo, un ancho de imagen. Funciona con 3.2.2Simplemente agregue lo siguiente a su archivo CSS personalizado. No se recomienda editar directamente archivos CSS de Bootstrap y cancela su capacidad de usar un CDN .
¿Por qué?
Bootstrap CSS (versión 3.7 y versiones anteriores) utiliza el margen: 0 automático; , pero se invalida por la propiedad flotante del contenedor de tamaño.
PD :
Después de agregar esta clase, no olvide establecer las clases en el orden correcto.
fuente
3.3.7y este es el único método que funciona para mí!!importantsea necesarioBootstrap 3 ahora tiene una clase incorporada para esto
.center-blockSi todavía usa 2.X, simplemente agregue esto a su CSS.
fuente
float:none;Mi enfoque para centrar columnas es usar
display: inline-blockpara columnas ytext-align: centerpara el contenedor primario.Solo tiene que agregar la clase CSS 'centrada' al
row.HTML:
CSS:
JSFiddle: http://jsfiddle.net/steyffi/ug4fzcjd/
fuente
Oreja versión 3 tiene una clase .text-center.
Solo agrega esta clase:
Simplemente cargará este estilo:
Ejemplo:
fuente
Con Bootstrap v4, esto se puede lograr simplemente agregando
.justify-content-centera.row<div>https://getbootstrap.com/docs/4.0/utilities/flex/#justify-content
fuente
Esto funciona. Una manera hackear probablemente, pero funciona muy bien. Fue probado para responder (Y).
fuente
imgpuede establecerse como un bloque..centered img { display: inline; }a su respuesta y, en su lugar, merecería un voto positivo.fuente
Para centrar el col- necesitamos usar el siguiente código. Los cols son elementos flotantes además del margen automático. También lo configuraremos para que no flote ninguno,
Para centrar el col-lg-1 anterior con la clase de centrado, escribiremos:
Para centrar el contenido dentro del div, use
text-align:center,Si desea centrarlo solo en el escritorio y la pantalla más grande, no en el móvil, utilice la siguiente consulta de medios.
Y para centrar el div solo en la versión móvil, use el siguiente código.
fuente
Simplemente configure su columna que muestra el contenido en col-xs-12 (mobile-first ;-) y configure el contenedor solo para controlar qué tan ancho desea que sea su contenido centrado, por lo tanto:
Para una demostración, consulte http://codepen.io/Kebten/pen/gpRNMe :-)
fuente
Otro enfoque de compensación es tener dos filas vacías, por ejemplo:
fuente
Puede usar
text-centerpara la fila y puede asegurarse de que los div internos tengandisplay:inline-block(con nofloat).Como:
Y CSS:
El violín: http://jsfiddle.net/DTcHh/3177/
fuente
Con Bootstrap 4 simplemente puedes probar
justify-content-md-centercomo se menciona aquífuente
Probablemente esta no sea la mejor respuesta, pero hay una solución creativa más para esto. Como señaló koala_dev, la compensación de columnas funciona solo para tamaños de columna pares. Sin embargo, al anidar filas también puede lograr centrar columnas desiguales.
Para seguir con la pregunta original donde desea centrar una columna de 1 dentro de una cuadrícula de 12.
Por ejemplo:
Vea este violín , tenga en cuenta que debe aumentar el tamaño de la ventana de salida para ver también el resultado; de lo contrario, las columnas se ajustarán.
fuente
Este no es mi código, pero funciona perfectamente (probado en Bootstrap 3) y no tengo que perder el tiempo con col-offset.
Manifestación:
fuente
Podemos lograr esto usando el mecanismo de diseño de la tabla:
El mecanismo es:
La demostración de muestra está aquí
fuente
Agregue el siguiente fragmento dentro de su .row o su .col. Esto es para Bootstrap 4 *.
fuente
Como koala_dev usó en su enfoque 1, preferiría el método de compensación en lugar del bloque central o los márgenes que tienen un uso limitado, pero como mencionó:
Esto se puede resolver utilizando el siguiente enfoque para columnas impares.
fuente
Puede utilizar la solución flexible Flexbox para su Bootstrap.
Puede centrar su columna.
Echa un vistazo a flex .
fuente
Como nunca tengo la necesidad de centrar solo uno
.col-dentro de a.row, configuro la siguiente clase en el ajuste.rowde mis columnas de destino.Ejemplo
fuente
Para aquellos que buscan centrar los elementos de la columna en la pantalla cuando no tienen el número exacto para llenar su cuadrícula, he escrito un pequeño fragmento de JavaScript para devolver los nombres de las clases:
Si tiene 5 elementos y desea tener 3 por fila en una
mdpantalla, haga esto:Tenga en cuenta que el segundo argumento debe ser divisible por 12.
fuente
Para centrar más de una columna en una fila Bootstrap, y el número de columnas es impar, simplemente agregue esta
cssclase a todas las columnas de esa fila:Entonces en tu HTML tienes algo como:
fuente
Prueba esto
Puedes usar otros
colcomocol-md-2, etc.fuente
Sugiero simplemente usar la clase
text-center:fuente
Prueba este código.
Aquí he usado col-lg-1, y el desplazamiento debería ser 10 para centrar adecuadamente el div en dispositivos grandes. Si necesita que se centre en dispositivos medianos a grandes, simplemente cambie lg a md y así sucesivamente.
fuente
Solución Bootstrap 4 :
fuente
Si coloca esto en su fila, todas las columnas dentro estarán centradas:
fuente
Para ser más precisos, el sistema de cuadrícula de Bootstrap contiene 12 columnas y para centrar cualquier contenido, digamos, por ejemplo, el contenido ocupa una columna. Será necesario ocupar dos columnas de la cuadrícula de Bootstrap y colocar el contenido en la mitad de las dos columnas ocupadas.
'col-xs-offset-5' le dice al sistema de cuadrícula dónde comenzar a colocar el contenido.
'col-xs-2' le dice al sistema de cuadrícula cuántas columnas sobrantes debería ocupar el contenido.
'centrado' será una clase definida que centrará el contenido.
Así es como se ve este ejemplo en el sistema de cuadrícula de Bootstrap.
Columnas:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
....... desplazamiento ....... datos. .......no utilizado........
fuente