Tamaños de fuente adaptativos en CSS
Ya sabes que las unidades rem se calculan
relativamente al tamaño de fuente del elemento raíz,
que por defecto es 16px:
html {
font-size: 16px; /* valor por defecto */
}
Esta característica se utiliza para cambiar masivamente los tamaños de fuente cuando cambia el ancho de pantalla. Veamos cómo se hace.
Supongamos que a nuestras etiquetas se les han asignado los siguientes tamaños:
h1 {
font-size: 1.5rem; /* corresponde a 24px */
}
p {
font-size: 1rem; /* corresponde a 16px */
margin: 2rem; /* corresponde a 32px */
}
Hagamos que al cambiar el
ancho de pantalla se adapten los tamaños
definidos mediante rem. Para esto, usando
consultas de medios cambiaremos el tamaño de fuente
del elemento raíz:
@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;
}
}
Tenemos el siguiente 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;
}
}
Simplifica el código proporcionado, usando la técnica descrita en el tutorial.