Zoomen werkt in elke browser, ook als maten in pixels zijn opgeschreven. De instelling voor de standaard tekstgrootte werkt echter alleen met relatieve eenheden — en dat is de instelling die bezoekers één keer aanzetten en daarna vergeten.
/* volgt de instelling van de bezoeker niet */
body { font-size: 16px; }
/* volgt hem wel */
body { font-size: 1rem; }
h2 { font-size: 1.6rem; }
Laat ook maten meegroeien met de tekst. Gebruik een minimumhoogte in plaats van een vaste hoogte, en geef de leesbreedte op in tekens:
.knop {
padding: 0.7em 1.4em;
min-block-size: 2.75rem; /* geen height */
}
p { max-inline-size: 68ch; }
em rekent met de tekstgrootte van het onderdeel zelf, rem met die van de pagina. Voor ruimte binnen een knop is em handig, voor alles daarbuiten rem.
Zet de zoomfunctie nooit uit. Deze regel staat nog in sjablonen van jaren geleden: <meta name="viewport" content="width=device-width, maximum-scale=1, user-scalable=no">. Haal alles achter width=device-width, initial-scale=1 weg.