Responsiv typstorlek i CSS
Du vet redan att enheten rem räknas
i förhållande till textstorleken på rotelementet,
som som standard är 16px:
html {
font-size: 16px; /* standardvärde */
}
Denna egenskap används för att i stor skala ändra textstorlekar när skärmbredden ändras. Låt oss se hur det går till.
Låt oss anta att följande storlekar är satta på våra taggar:
h1 {
font-size: 1.5rem; /* motsvarar 24px */
}
p {
font-size: 1rem; /* motsvarar 16px */
margin: 2rem; /* motsvarar 32px */
}
Låt oss göra så att storlekarna som anges
via rem ändras responsivt när
skärmbredden ändras. För att göra detta kommer vi
med hjälp av media queries ändra textstorleken
på rotelementet:
@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;
}
}
Följande kod ges:
@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;
}
}
Förenkla den givna koden med hjälp av tekniken som beskrivs i läroboken.