¿Se puede centrar con position relative?

Eddy John Alvarez Villavicencio

Eddy John Alvarez Villavicencio

Pregunta
studenthace 4 años

¿Se puede centrar con position relative?

3 respuestas
para escribir tu comentario
    JeanCarlos Atoche Pascual

    JeanCarlos Atoche Pascual

    studenthace 4 años

    claro, puedes probar usando left:0 y rigth: 0 al igual que top 0 y bottom 0

    Carlos Eduardo Gomez García

    Carlos Eduardo Gomez García

    teacherhace 4 años

    Realmente el

    position: relative;
    se usa más para especificar que un elemento va a ser la referencia para poder posicionar a uno de sus elementos hijos a través del
    position: absolute;
    . Pero sí, si usas el absolute sí es posible centar un elemento (con respecto a otro), por ejemplo:

    <div class="padre"> <div class="hijo"> <p>Soy el hijo 😄</p> </div> </div

    Con CSS puedes hacer esto:

    .padre { display: inline-block; width: 100%; heigth: 700px; position: relative; /* Centraré con base en este elemento */ } .padre .hijo { position: absolute; top: 50%; left: 50%; }

    Esto debería centrar tu elemento hijo con respecto al padre, sin embargo, al decir 50% estamos mandando todo hasta el 50%, por lo que tu elemento empezará a pintarse justo desde el centro (pruébalo para que veas de lo que hablo, ponle colores al fondo para que lo veas mejor jaja)

    Para solucionar esto, puedes hacer esto:

    .padre .hijo { ... transform: translateX(-50%) translateY(-50%); }

    De esa forma estás moviendo el elemento a centrar al -50% de su ancho/alto, lo que haría que quede totalmente centrado :D

    Es una forma curiosa de centrar elementos, pero la verdad, lo mejor (y más fácil) es que uses Flexbox (que ya lo verás más adelante 👀)

    Daniel Adolfo Ordoñez Rubio

    Daniel Adolfo Ordoñez Rubio

    studenthace 4 años

    Hola, Eddy :) ¡Claro que sí!

    .centrado { position: relative; left: 50%; /*el elemento está en el centro del contenedor*/ transform: translateX(-50%); /*el elemento está centrado*/ }

    Dependiendo del contexto, el tipo de elemento y el contenedor, tal vez sea más conveniente otro acercamiento como

    margin: auto
    o un contenedor
    display: flex
    .

Curso de HTML y CSS [Empieza Gratis]

Curso de HTML y CSS [Empieza Gratis]

Crea vistas web fluidas y eficientes con HTML, CSS y Flexbox. Aprende a estructurar layouts adaptables, desde mobile a desktop, optimizando imágenes y aplicando buenas prácticas semánticas y de accesibilidad.

Curso de HTML y CSS [Empieza Gratis]
Curso de HTML y CSS [Empieza Gratis]

Curso de HTML y CSS [Empieza Gratis]

Crea vistas web fluidas y eficientes con HTML, CSS y Flexbox. Aprende a estructurar layouts adaptables, desde mobile a desktop, optimizando imágenes y aplicando buenas prácticas semánticas y de accesibilidad.