Como usar unidades rem de css para paginas responsivas

CSS tiene muchas unidades de medidas, algunas absolutas (px) y otras relativas (rem). Te explico como usar rem para hacer tu página responsiva.

¿Que es la unidad rem?

Significa “root em” y es una unidad relativa basada en la medida del font size del “root element” y por root element entiéndase el elemento <html>.

¿Como funciona?

La mayoría de los navegadores ponen el font-size por defecto de el elemento html a 16px. Entonces sí a cualquier propiedad de CSS le pones 1rem es el equivalente a hacer 16px.

Veamos un ejemplo, pongamos el font-size a 10px en el elemento html (el elemento root)

html {
    font-size: 10px;
}

h1 {
    font-size: 4rem; /* 10 * 4 = 40px */
}

main {
    width: 60rem; /* 60 * 10 = 600px  */
}

Si ponemos 10px en nuestro elemento root, 2rem equivalen a 20px, 7rem a 70px y así sucesivamente.

¿Y para qué sirve?

Usar rem en todas las unidades de tu CSS te permite aumentar el tamaño tu pagina (ya sea por cambio de diseño o por tamaño de la pantalla) con solo aumentar o disminuir el font-size en el elemento html .

Aumentar el tamaño de tu pagina para aprovechar la mayor cantidad de espacio disponible es ofrecerle a tus usuarios una mejor experiencia visual y de accesibilidad a tu página.

html {
    font-size: 16px;
}

@media only screen and (min-width: 720px) {
    html {
        font-size: 18px;
    }
}

@media only screen and (min-width: 960px) {
    html {
        font-size: 20px;
    }
}

@media only screen and (min-width: 1240px) {
    html {
        font-size: 24px;
    }
}

h1 {
    font-size: 3.5rem; /* 56px, 63px, 70px o 84px */
}

h2 {
    font-size: 2.5rem; /* 40px, 45px, 50px, 60px */
}

h3 {
    font-size: 2rem; /* 32px, 36px, 40px, 48px */
}

Usando media queries podemos aumentar o disminuir el tamaño del font-size del html. Luego usar rem en los font-size y width para aprovechar mejor el espacio disponible en la pantalla.

Full demo

Conclusión

CSS nos da muchas herramientas para hacer nuestras paginas responsive pero rem es una de las más importantes ya que te permite escalar tu pagina relativamente a único elemento html (root) de la página.

Copyright © 2024. Design and code by myself with Next.js. Fork it and create yours