¿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 .centered
centrada dentro del contenedor. Puedo usar una fila si hay múltiples div
s, pero por ahora solo quiero una div
con 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 div
mitad. No necesito espacios libres fuera div
y el contenido del div
encogimiento 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).
.clearfix
no 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-block
clase auxiliar .También puede usar
text-center
para centrar texto (y elementos en línea).Demostración : http://bootply.com/91632
EDITAR : como se menciona en los comentarios,
center-block
funciona en los contenidos ydisplay:block
elementos 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-center
todavía se usa paradisplay:inline
elementosmx-auto
reemplazacenter-block
a losdisplay:block
elementos centralesoffset-*
omx-auto
puede usarse para centrar columnas de cuadrículamx-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
Para el centrado vertical en BS4, consulte https://stackoverflow.com/a/41464397/171456
fuente
text-center
detalles, 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-block
clase auxiliar.fuente
float:none
asegurá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.7
y este es el único método que funciona para mí!!important
sea necesarioBootstrap 3 ahora tiene una clase incorporada para esto
.center-block
Si todavía usa 2.X, simplemente agregue esto a su CSS.
fuente
float:none;
Mi enfoque para centrar columnas es usar
display: inline-block
para columnas ytext-align: center
para 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-center
a.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
img
puede 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-center
para 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-center
como 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.row
de 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
md
pantalla, 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
css
clase a todas las columnas de esa fila:Entonces en tu HTML tienes algo como:
fuente
Prueba esto
Puedes usar otros
col
comocol-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