Como centrar un div con css

Inicio » Como centrar un div con css

css centrar div verticalmente

Establece el ancho y fija el margen izquierdo y el margen derecho en automático. Aunque eso es sólo para la horizontal. Si quieres las dos formas, lo harías de las dos maneras. No tengas miedo de experimentar; no es que vayas a romper nada.

Recientemente tuve que centrar un div “oculto” (es decir, display:none;) que tenía un formulario tabulado dentro de él que necesitaba estar centrado en la página. Escribí el siguiente código jQuery para mostrar el div oculto y luego actualizar el contenido CSS al ancho generado automáticamente de la tabla y cambiar el margen para centrarlo. (El cambio de visualización se activa al hacer clic en un enlace, pero este código no era necesario para mostrar).

Chris Coyier que escribió un excelente post sobre ‘Centrar en lo desconocido’ en su blog. Es un resumen de múltiples soluciones. He publicado uno que no está publicado en esta pregunta. Tiene más soporte de navegador que la solución Flexbox, y no estás usando display: table; que podría romper otras cosas.

transform: translate te permite modificar el espacio de coordenadas del modelo de formato visual CSS. Usándolo, los elementos pueden ser traducidos, rotados, escalados y sesgados. Para centrar horizontalmente se requiere position: absolute y left: 50%.

css centrar texto

A continuación se muestra la mejor solución que pude construir para centrar vertical y horizontalmente una caja de contenido de ancho fijo y altura flexible. Fue probado y funcionó para las versiones recientes de Firefox, Opera, Chrome y Safari.

Desafortunadamente – pero no sorprendentemente – la solución es más complicada de lo que uno desearía. También por desgracia, tendrás que usar divs adicionales alrededor del div que quieres centrar verticalmente.

Para los navegadores que cumplen con los estándares, como Mozilla, Opera, Safari, etc., es necesario configurar el div exterior para que se muestre como una tabla y el div interior para que se muestre como una celda de tabla, que puede centrarse verticalmente. En el caso de Internet Explorer, hay que situar el div interior absolutamente dentro del div exterior y luego especificar la parte superior como el 50%. Las siguientes páginas explican bien esta técnica y proporcionan también algunos ejemplos de código:

css center div horizontally

The main trick in this demo is that in the normal flow of elements going from top to bottom, so the margin-top: auto is set to zero. However, an absolutely positioned element acts the same for distribution of free space, and similarly can be centered vertically at the specified top and bottom (does not work in IE7).

<div>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum accumsan tellus purus, et mollis nulla consectetur ac. Quisque id elit at diam convallis venenatis eget sed justo. Nunc egestas enim mauris, sit amet tempor risus ultricies in. Sed dignissim magna erat, vel laoreet tortor bibendum vitae. Ut porttitor tincidunt est imperdiet vestibulum. Vivamus id nibh tellus. Integer massa orci, gravida non imperdiet sed, consectetur ac quam. Nunc dignissim felis id tortor tincidunt, a eleifend nulla molestie. Phasellus eleifend leo purus, vel facilisis massa dignissim vitae. Pellentesque libero sapien, tincidunt ut lorem non, porta accumsan risus. Morbi tempus pharetra ex, vel luctus turpis tempus eu. Integer vitae sagittis massa, id gravida erat. Maecenas sed purus et magna tincidunt faucibus nec eget erat. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc nec mollis sem.</div>

css align: center

Establece el ancho y fija el margen izquierdo y el margen derecho en automático. Aunque eso es sólo para la horizontal. Si quieres las dos formas, lo harías de las dos maneras. No tengas miedo de experimentar; no es que vayas a romper nada.

Recientemente tuve que centrar un div “oculto” (es decir, display:none;) que tenía un formulario tabulado dentro de él que necesitaba estar centrado en la página. Escribí el siguiente código jQuery para mostrar el div oculto y luego actualizar el contenido CSS al ancho generado automáticamente de la tabla y cambiar el margen para centrarlo. (El cambio de visualización se activa al hacer clic en un enlace, pero este código no era necesario para mostrar).

Chris Coyier que escribió un excelente post sobre ‘Centrar en lo desconocido’ en su blog. Es un resumen de múltiples soluciones. He publicado uno que no está publicado en esta pregunta. Tiene más soporte de navegador que la solución Flexbox, y no estás usando display: table; que podría romper otras cosas.

transform: translate te permite modificar el espacio de coordenadas del modelo de formato visual CSS. Usándolo, los elementos pueden ser traducidos, rotados, escalados y sesgados. Para centrar horizontalmente se requiere position: absolute y left: 50%.

Ir arriba