Mas veja, que foi definido no ::after
:
width: 2em;
height: 2em;
Para calcular o em
devemos levar em consideração a definição do font-size
no elemento pai.
Por exemplo:
.minha-div {
font-size: 20px;
}
<div class="minha-div"></div>
Veja que o font-size
da minha-div
foi definido em 20px
, agora:
.meu-filhos {
height: 3em;
width: 2em;
}
<div class="minha-div">
<span class="meu-filho"></span>
</div>
Qual será o tamanho de height
e width
? Bom, para cada 1em
devemos multiplicar pelo font-size
do pai, logo temos:
/* elemento pai */
.minha-div {
font-size: 20px;
}
/* elemento filho*/
.meu-filhos {
height: 3em; /* 3 * 20 = 60px */
width: 2em; /* 2 * 20 = 40px */
}
Dessa maneira que está sendo feito no exemplo. Depois, está dizendo que ele deve ocupar metade da largura e metade da altura:
background-size: 50% 50%;
Ou seja, se seu elemento pai possuí font-size
igual á 16px
, seu elemento terá: 32x32
(2em * 16
).
E como estamos dizendo para o background
ocupar metade de altura e largura, ele terá o tamanho de 16x16
.
Espero ter ajudado.