¿Hay alguna forma de centrar elementos html vertical u horizontalmente dentro de los padres principales?
<center></center>
etiqueta
<center>
etiqueta quedó en desuso hace unos 12 años.
¿Hay alguna forma de centrar elementos html vertical u horizontalmente dentro de los padres principales?
<center></center>
etiqueta
<center>
etiqueta quedó en desuso hace unos 12 años.
Respuestas:
Actualización : si bien esta respuesta probablemente fue correcta a principios de 2013, ya no debería usarse. La solución adecuada utiliza compensaciones .
En cuanto a la sugerencia de otros usuarios, también hay clases nativas de arranque disponibles como:
class="text-center"
class="pagination-centered"
gracias a @Henning y @trejder
class="text-center"
.pagination-centered
como alternativa.
text-center
para el diseño es una muy mala práctica. La forma correcta de alinear columnas en Bootstrap es mediante el uso de col-XX-offset-Y
clases. getbootstrap.com/css/#grid-offsetting . Esta respuesta probablemente fue correcta en 2013, pero ya no debe usarse más hoy.
De la documentación de Bootstrap :
Establecer un elemento
display: block
y centrar a través demargin
. Disponible como mixin y clase.
<div class="center-block">...</div>
Para futuros visitantes a esta pregunta:
Si está tratando de centrar una imagen en un div pero la imagen no se centra, esto podría describir su problema:
<div class="col-sm-4 text-center">
<img class="img-responsive text-center" src="myPic.jpg" />
</div>
La img-responsive
clase agrega una display:block
instrucción a la etiqueta de imagen, que impide que text-align:center
( text-center
clase) funcione.
SOLUCIÓN:
<div class="col-sm-4">
<img class="img-responsive center-block" src="myPic.jpg" />
</div>
Agregar la center-block
clase anula la display:block
instrucción introducida al usar la img-responsive
clase.
Sin la img-responsive
clase, la imagen se centraría simplemente agregando text-center
clase
Además, debe conocer los conceptos básicos de flexbox y cómo usarlo, ya que Bootstrap4 ahora lo usa de forma nativa .
Aquí hay un excelente video tutorial de ritmo rápido de Brad Schiff
Aquí hay una gran hoja de trucos
Actualizado 2018
En Bootstrap 4 , los métodos de centrado han cambiado.
Centro horizontal en BS4
text-center
todavía se usa para display:inline
elementosmx-auto
reemplaza center-block
al centro de display:flex
niñosoffset-*
o mx-auto
puede usarse para centrar columnas de cuadrículamx-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 de manera predeterminada 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
Puede escribir directamente en su archivo CSS de esta manera:
.content {
position: absolute;
top: 50%;
left:50%;
transform: translate(-50%,-50%);
}
<div class = "content" >
<p> some text </p>
</div>
yo uso esto
<style>
html, body {
height: 100%;
margin: 0;
padding: 0 0;
}
.container-fluid {
height: 100%;
display: table;
width: 100%;
padding-right: 0;
padding-left: 0;
}
.row-fluid {
height: 100%;
display: table-cell;
vertical-align: middle;
width: 100%;
}
.centering {
float: none;
margin: 0 auto;
}
</style>
<body>
<div class="container-fluid">
<div class="row-fluid">
<div class="offset3 span6 centering">
content here
</div>
</div>
</div>
</body>
para el centrado horizontal puede tener algo como esto:
.centering{
float:none;
margin:0 auto
}
<div class="span8 centering"></div>
<img src="img/logo.png" style="float:none; margin:0 auto" />
. Rodear img
a los padres div
y dar .text-center
o dar .pagination-centered
clases a los padres funciona de maravilla.
Me gusta esta solución de una pregunta similar. https://stackoverflow.com/a/25036303/2364401 Use la text-center
clase bootstraps en los datos reales de la tabla <td>
y los <th>
elementos del encabezado de la tabla . Entonces
<td class="text-center">Cell data</td>
y
<th class="text-center">Header cell data</th>
Con bootstrap 4 puedes usar flex
<div class="d-flex justify-content-center align-items-center">
<button type="submit" class="btn btn-primary">Create</button>
</div>
fuente: bootstrap 4.1
bootstrap 4 + Flex resuelve esto
puedes usar
<div class="d-flex justify-content-center align-items-center">
<button type="submit" class="btn btn-primary">Create</button>
</div>
debe centrarse en el centro horizontal y verticalmente
Descubrí en Bootstrap 4 que puedes hacer esto:
centro horizontal es de hecho text-center
clase
Sin embargo, el centro vertical, usando clases de bootstrap, está agregando ambos mb-auto mt-auto
para que el margen superior y el margen inferior estén configurados en automático.
para bootstrap4 centro vertical de pocos artículos
d-flex para reglas flex
columna flexible para dirección vertical en artículos
justify-content-center para centrar
style = 'height: 300px;' debe tener para los puntos de ajuste donde el centro sea calc o use la clase h-100
<div class="d-flex flex-column justify-content-center bg-secondary" style="
height: 300px;
">
<div class="p-2 bg-primary">Flex item</div>
<div class="p-2 bg-primary">Flex item</div>
<div class="p-2 bg-primary">Flex item</div>
</div>