Olá, Júlio! Tudo bem, cara? =)
Os valores em em
e rem
são bem parecidos... O que você disse está quase correto. A forma como eu gosto de pensar é que o em
vai "procurando" nos elementos pais o valor de font-size
, enquanto que o rem
é como um "atalho" para o elemento raiz (<html>
)...
Sacou a diferença entre o que você propôs e o que propus? =)
Não necessariamente, precisamos definir o valor do font-size
para o elemento pai quando usamos em
, pois se não o fizermos, essa tag pai herdará o font-size
da tag "avô" dela...
Dando um exemplo:
<html>
<head>
<style>
html {
font-size: 10px;
}
div {
font-size: 2em;
}
section {
font-size: 2rem;
}
p {
font-size: 2em;
}
</style>
</head>
<body>
<p>Parágrafo 01.</p>
<div>
<p>Parágrafo 02.</p>
</div>
<div>
<section>
<p>Parágrafo 03.</p>
</section>
<article>
<p>Parágrafo 04.</p>
</article>
</div>
</body>
</html>
Espero que esse exemplo consiga ajudá-lo! Repare que coloque quatro parágrafos aqui... Qual é o font-size
de cada um deles? Vou colocar a resposta logo abaixo, mas antes, tente entender o código e adivinhar quais serão os valores!!
Resposta:
Primeiro, repare que coloquei no <html>
o valor de 10px e, além disso, coloquei em cada <p>
o valor de 2em
, então ele será o dobro da tag pai.
No caso do parágrafo 01, será de 20px!
No caso do parágrafo 02, será o dobro do elemento pai, que é uma <div>
... Que eu havia colocado uma fonte igual a 2em, ou seja, o dobro do pai. No nosso caso, o parágrafo 02 terá 40px!
No terceiro, temos um parágrafo dentro de uma <section>
, dentro de uma <div>
. Já sabemos que a <div>
terá 40px. Mas e a <section>
? Repare que informei o valor de 2rem, ou seja, o dobro da raiz (<html>
). Nesse caso, o terceiro também será de 40px!
E o último caso? Ele está dentro de um <article>
, mas não coloquei informei nenhum valor específico para ele! Então, o <article>
herdará o valor da <div>
, ou seja, 2em = 20px. Finalizaremos, também, com 40px!
Acho que esse exemplo deu para mostrar um pouco do que eu quis dizer quando disse que o em
vai "procurando" o tamanho da fonte nas tags pais... Ele olha no primeiro, se não tiver valor definido, quer dizer que ele herdou da tag "avô", e vou subindo na hierarquia... =)
Sacou? Rs...
Espero ter ajudado, mas qualquer dúvida que possa aparecer ou tenha restado não hesite em perguntar que lhe ajudaremos! =)
Abraço e bons estudos,
Fábio