Sobes.tech
Junior

Em que se diferenciam as unidades de medida em das unidades rem?

sobes.tech IA

Resposta da IA

As unidades em são relativas ao tamanho da fonte do elemento pai. Se o tamanho da fonte do pai não estiver definido explicitamente, usa a fonte do seu próprio pai e assim por diante até ao elemento raiz (html).

As unidades rem são relativas ao tamanho da fonte apenas do elemento raiz (html). Isto torna-as mais previsíveis e simplifica a gestão de fontes e tamanhos de elementos na página.

Exemplo:

HTML:

<div class="parent">
  Texto do pai
  <div class="child-em">
    Texto filho em
  </div>
  <div class="child-rem">
    Texto filho rem
  </div>
</div>

CSS:

.parent {
  font-size: 16px; /* Tamanho base da fonte para o pai */
}

.child-em {
  font-size: 1.5em; /* Tamanho da fonte 1.5 * 16px = 24px */
}

html {
  font-size: 10px; /* Tamanho base da fonte para o elemento raiz */
}

.child-rem {
  font-size: 2rem; /* Tamanho da fonte 2 * 10px = 20px */
}

Tabela comparativa:

Unidade Relativa a quê é medida Previsibilidade Uso
em Tamanho da fonte do elemento pai Menos previsível, depende do contexto Para margens e tamanhos de elementos que dependem do texto dentro deles
rem Tamanho da fonte do elemento raiz (html) Mais previsível Para escalonamento global de fontes, margens e tamanhos de elementos na página