Para transformar valores em pixel (px) para rem, você deve dividir o valor em pixel por 16, o resultado será o valor em rem.
A divisão por 16 é feito pois, 1 rem é igual a 16 pixel, mais abaixo temos uma tabela onde listamos alguns valores em pixels convertidos em rem.
O formato rem é relativo, ou seja, ele se adapta aos diferentes tamanhos de fonte com base no padrão do navegador, é como se ele fosse calculado como percentual (%) em relação ao pixel, não é necessariamente assim, mas para tornar a explicação mais compreensível digamos que, você ganha 100 reais e guarda 10%, logo, você guarda 10 reais, se você passar a guanhar 200 e continuar guardando 10% você estará guardando 20 reais, isto porque o percentual esta ligado relativamente ao valor principal.
Nesta lógica de dinheiro acima agora aplicada a pixel seria:
Mas quando aplicamos o rem, fica:
É algo que acompanha o tamanho total.
Por padrão, os navegadores utilizam 16px, o que em rem é 1rem, mas o usuário pode alterar isto.
Vamos fazer um passo a passo de como você pode alterar ai em seu navegador o padrão e observar como o tamanho do texto fica diferente, primeiro, vamos criar duas frases, uma com tamanho em pixel e outra em rem:
Se o seu navegador estiver com o padrão "de fábrica", você não notará nenhuma diferença no texto, mas vamos a mágica agora:
Usando o Google Chrome, vá em (três pontinhos no canto superior direito), acione a opção , em seguinda, na tela que abrir, escoha , após, , em , aumente ela para 26, por exemplo, feito isto, volte aqui e veja como os textos acima estão com tamanhos diferentes.
| Pixel (px) | REM (rem) |
|---|---|
| 1px | 0.0625rem |
| 2px | 0,125rem |
| 3px | 0,1875rem |
| 4px | 0,25rem |
| 5px | 0,3125rem |
| 6px | 0,375rem |
| 7px | 0,4375rem |
| 8px | 0,5rem |
| 9px | 0,5625rem |
| 10px | 0,625rem |
| 16px | 1rem |
| 32px | 2rem |
| 48px | 3rem |
| 64px | 4rem |
| 80px | 5rem |