Para centrar un elemento HTML, puedo usar el CSS left: 50%;
. Sin embargo, esto centra el elemento con respecto a toda la ventana.
Tengo un elemento que es hijo de un <div>
elemento y quiero centrarlo con respecto a este padre <div>
, no toda la ventana.
No quiero que el contenedor <div>
tenga todo su contenido centrado, solo un hijo específico.
text-align
no parece funcionar en un<i>
elemento. Darle una clase sí ..display: table-cell
oflexbox
para esto. Echa un vistazo al enlace que agregué.En realidad, esto es muy sencillo con los cuadros flexibles CSS3 .
ACTUALIZAR:
Parece que no leí la edición de OP en el momento en que escribí esta respuesta. El código anterior centrará todos los elementos internos (sin superponerse entre ellos), pero el OP quiere que solo se centre un elemento específico , no los otros elementos internos. Por lo tanto, el segundo método de respuesta de @Warface es más apropiado, pero aún requiere un centrado vertical:
fuente
CSS
HTML
Esto debería centrar el div
2016: método HTML5 + CSS3
CSS
HTML
Violín
https://jsfiddle.net/1z7m83dx/
fuente
text-align:center;
en el padre div Debería hacer el trucofuente
Para centrar solo el niño específico:
O, también puede usar flex, pero eso centraría a todos los niños
fuente
Puede usar el nombre de clase de bootstrap flex así:
Eso funcionará incluso con varios elementos dentro.
fuente
¿Es el div un ancho fijo o un ancho fluido? De cualquier manera, para el ancho del fluido puede usar:
O puede establecer el div principal en
text-align:center;
y el div secundario entext-align:left;
.Y
left:50%;
solo lo centra de acuerdo con toda la página cuando el div está configurado enposition:absolute;
. Si configura el div enleft:50%;
él, debería hacerlo en relación con el ancho del div padre. Para ancho fijo, haga esto:fuente
solo dale al padre div
position: relative
fuente
Si quieres usar CSS3:
Es posible que desee realizar más búsquedas para descubrir cómo obtener el porcentaje que se ajuste al ancho de su elemento.
fuente
En primer lugar, puede hacerlo con left: 50% para centrarlo en relación con el div padre, pero para eso necesita aprender el posicionamiento CSS.
Una posible solución de muchos es hacer algo como
si su div para centrarse está posicionado relativamente, simplemente puede hacer
fuente
text-align:center;
izquierda: el 50% funciona de manera resectiva al padre más cercano con ancho estático asignado. Intente ancho: 500 px o algo en el div padre. Alternativamente, cree el contenido que necesita para centrar la pantalla: bloquee y configure los márgenes izquierdo y derecho en automático.
fuente
Si el elemento hijo está en línea (por ejemplo, no a
div
,table
etc.), lo envolvería dentro de adiv
o ap
y haría que el texto del contenedor alinee la propiedad css igual al centro.De lo contrario, si el elemento es un bloque (
display: block
por ejemplo, undiv
o unap
) con una anchura fija, me gustaría establecer su margen propiedades CSS recto con auto e izquierdo.Por supuesto, podría agregar un
text-align: center
elemento de contenedor para centrar también su contenido.No me molestaré con el posicionamiento porque, en mi humilde opinión, no es el camino a seguir para el problema de los OP, pero asegúrese de consultar este enlace , muy útil.
fuente
Cree un nuevo elemento div para que su elemento se centre, luego agregue una clase específicamente para centrar ese elemento de esta manera
Css
fuente
He encontrado otra solucion
y en cuerpo
Esto centrará su contenido div cada vez que su contenedor sea más grande o más pequeño. En este caso, su contenido debe ser mayor al 1100% del contenedor para que no esté centrado, pero en ese caso puede hacer con containerSecond más grande, y funcionará
fuente
Asignar
text-align: center;
al padre ydisplay: inline-block;
al div.fuente
por ejemplo, tengo un artículo div que está dentro de un contenido principal div .. Dentro del artículo hay una imagen y debajo de esa imagen hay un botón, estilo como este:
.artículo {
} .artículo {
}
/ * dentro del artículo quiero centrar la imagen * /
.article img {
}
/ * Ahora, debajo de esta imagen en el mismo elemento del artículo, debería haber un botón como leer más. Por supuesto, debe trabajar con em o% cuando está dentro de un diseño receptivo * /
.button {
}
Buena suerte
fuente
Si desea centrar elementos dentro de un div y no le importa el tamaño de la división, puede usar la potencia Flex. Prefiero usar flex y no uso el tamaño exacto para los elementos.
Como puede ver, Div externo es el contenedor Flex y el interno debe ser el elemento Flex que se especificó
flex: 1 1 auto;
para comprender mejor que puede ver esta muestra simple. http://jsfiddle.net/QMaster/hC223/Espero que esto ayude.
fuente
al mío le gustaría magia.
fuente
fuente