Dimensiuni de font adaptative în CSS
Știți deja că unitățile rem se calculează
în raport cu dimensiunea fontului elementului rădăcină,
care implicit este 16px:
html {
font-size: 16px; /* valoarea implicită */
}
Această particularitate este utilizată pentru a modifica în masă dimensiunile fonturilor atunci când lățimea ecranului se schimbă. Să vedem cum se face acest lucru.
Să presupunem că următoarele dimensiuni sunt atribuite elementelor noastre:
h1 {
font-size: 1.5rem; /* corespunde la 24px */
}
p {
font-size: 1rem; /* corespunde la 16px */
margin: 2rem; /* corespunde la 32px */
}
Să facem în așa fel încât, atunci când
lățimea ecranului se modifică, dimensiunile
definite prin rem să se adapteze. Pentru aceasta, folosind
interogări media, vom modifica dimensiunea fontului
elementului rădăcină:
@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;
}
}
Este dat următorul cod:
@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ți codul dat, utilizând tehnica descrisă în manual.