Tamanhos de fonte adaptativos em CSS
Você já sabe que as unidades rem são calculadas
em relação ao tamanho da fonte do elemento raiz,
que por padrão é 16px:
html {
font-size: 16px; /* valor padrão */
}
Essa característica é usada para alterar em massa os tamanhos das fontes quando a largura da tela muda. Vamos ver como isso é feito.
Suponha que as seguintes dimensões sejam definidas para nossas tags:
h1 {
font-size: 1.5rem; /* corresponde a 24px */
}
p {
font-size: 1rem; /* corresponde a 16px */
margin: 2rem; /* corresponde a 32px */
}
Vamos fazer com que, quando a largura da tela mudar,
as dimensões definidas em rem mudem de forma adaptativa.
Para isso, usaremos consultas de mídia para alterar o tamanho da fonte
do elemento raiz:
@media (max-width: 600px) {
html {
font-size: 16px;
}
}
@media (min-width: 600px) and (max-width: 1200px) {
html {
font-size: 18px;
}
}
@media (min-width: 1200px) {
html {
font-size: 20px;
}
}
É dado o seguinte código:
@media (max-width: 300px) {
h1 {
font-size: 32px;
}
h2 {
font-size: 24px;
}
p {
font-size: 16px;
}
}
@media (min-width: 300px) and (max-width: 900px) {
h1 {
font-size: 36px;
}
h2 {
font-size: 27px;
}
p {
font-size: 18px;
}
}
@media (min-width: 900px) {
h1 {
font-size: 40px;
}
h2 {
font-size: 30px;
}
p {
font-size: 20px;
}
}
Simplifique o código fornecido, usando a técnica descrita no tutorial.