¿En qué se diferencian rem de em?
sobes.tech AI
Respuesta de la IA
rem y em son unidades relativas de medida en CSS, que se utilizan para definir tamaños, pero difieren en la base de referencia.
-
em — una unidad relativa basada en el tamaño de fuente del elemento padre. Por ejemplo, si el tamaño de fuente del padre es: 16px, entonces 1em = 16px. Si en un elemento hijo el tamaño de fuente es: 1.5em, su tamaño será 24px.
-
rem — una unidad relativa basada en el tamaño de fuente del elemento raíz (generalmente
<html>). Por ejemplo, si<html>tiene un tamaño de fuente: 16px, entonces 1rem siempre será igual a 16px, independientemente de la anidación.
Diferencia principal:
- em depende del contexto (del elemento padre), lo que puede llevar a una cascada en la multiplicación de tamaños en la anidación.
- rem siempre es fijo respecto a la raíz, lo que simplifica la gestión de tamaños y los hace más predecibles.
Ejemplo:
html {
font-size: 16px;
}
.parent {
font-size: 20px; /* 1em = 20px dentro de .parent */
}
.child-em {
font-size: 1.5em; /* 1.5 * 20px = 30px */
}
.child-rem {
font-size: 1.5rem; /* 1.5 * 16px = 24px */
}
Utiliza rem para tamaños globales para evitar cambios inesperados, y em cuando necesites escalar en relación con el contexto local.