06/03/2022
I en verden, hvor mobiltelefonen ofte er den primære adgang til internettet, er det afgørende, at websites ikke blot er funktionelle, men også æstetisk tiltalende og letlæselige på alle skærme. Skrifttyper spiller en kolossal rolle heri. De påvirker ikke kun læsbarheden, men også brandidentiteten og den samlede brugeroplevelse. For udviklere, der designer til Apples økosystem – iPhones, iPads og macOS – opstår der ofte spørgsmål om, hvordan CSS-skrifttyper interagerer med iOS's specifikke rendering og funktioner. Denne artikel vil udforske, hvordan du effektivt kan styre skrifttyper på iOS-enheder ved hjælp af CSS, herunder brugen af systemskrifttyper og udnyttelse af Apples indbyggede tilgængelighedsfunktioner.

Valget af den rette skrifttype er et fundamentalt element i webdesign, der har en enorm indflydelse på, hvordan besøgende oplever et website. En velvalgt skrifttype kan forstærke et brands identitet og skabe en mindeværdig visuel signatur. Omvendt kan et dårligt skrifttypevalg eller en uhensigtsmæssig implementering forringe læsbarheden markant og frustrere brugerne. Ud over selve skrifttypen er det ligeledes vigtigt at overveje skriftens farve og størrelse for at opnå optimal læsbarhed og æstetik på tværs af forskellige enheder og skærmstørrelser.
Fungerer CSS 'font-family' på iOS-enheder?
Ja, helt basalt fungerer CSS's font-family-egenskab fuldt ud på iOS-enheder, præcis som på andre browsere og operativsystemer. Hvis du definerer en skrifttype som font-family: Arial, Helvetica, sans-serif;, vil iOS-browseren forsøge at gengive teksten med Arial, og hvis den ikke er tilgængelig, falde tilbage til Helvetica, og til sidst en generisk sans-serif skrifttype. Dette er standard CSS-adfærd, og det er den primære måde at specificere skrifttyper på i webindhold.
Det er dog vigtigt at forstå, at selvom den grundlæggende funktionalitet er den samme, kan den faktiske rendering variere en smule mellem forskellige browsere og operativsystemer på grund af forskelle i skrifttype-rendering-motorer og tilgængelige systemskrifttyper. Derfor er det altid en god praksis at medtage flere skrifttypenavne som et "fallback"-system. Hvis browseren ikke understøtter den første skrifttype, forsøger den den næste. Skrifttypenavnene skal adskilles med komma.
Start altid med den skrifttype, du ønsker, og afslut altid med en generisk familie. Dette giver browseren mulighed for at vælge en lignende skrifttype fra den generiske familie, hvis ingen af de specificerede skrifttyper er tilgængelige. Hvis skrifttypenavnet består af mere end ét ord, skal det omsluttes af anførselstegn, f.eks. "Times New Roman".
For eksempel:
p {
font-family: "Times New Roman", Times, serif;
}
span {
font-family: Arial, Helvetica, sans-serif;
}
code {
font-family: "Lucida Console", "Courier New", monospace;
}Disse eksempler illustrerer, hvordan du kan specificere forskellige skrifttyper med fallback-muligheder for at sikre den bedste mulige visning på tværs af forskellige enheder, inklusive iOS.
Generiske Skrifttypefamilier
I CSS er der fem generiske skrifttypefamilier, som er essentielle for at forstå fallback-systemet:
- Serif-skrifttyper: Har en lille streg (seriff) ved kanterne af hvert bogstav. De skaber en følelse af formalitet og elegance. Eksempler inkluderer Times New Roman og Georgia.
- Sans-serif-skrifttyper: Har rene linjer (ingen små streger). De skaber et moderne og minimalistisk udseende. Eksempler inkluderer Arial, Helvetica og Verdana. På computerskærme anses sans-serif-skrifttyper generelt for at være lettere at læse end serif-skrifttyper.
- Monospace-skrifttyper: Her har alle bogstaver samme faste bredde. De skaber et mekanisk eller kodningslignende udseende. Eksempler inkluderer Courier New og Consolas.
- Cursive-skrifttyper: Efterligner menneskelig håndskrift. De bruges ofte til dekorative formål.
- Fantasy-skrifttyper: Er dekorative og legende skrifttyper, der ikke passer ind i de andre kategorier. De bruges ofte til overskrifter eller specielle effekter.
Alle de forskellige skrifttypenavne, du bruger, tilhører en af disse generiske skrifttypefamilier, hvilket hjælper browseren med at finde en passende erstatning, hvis din foretrukne skrifttype ikke er tilgængelig.
Brug af iOS Systemskrifttyper og Tekststile i CSS
For at opnå et mere indbygget udseende på iOS og macOS kan du specificere Apples systemskrifttype direkte i din CSS. Dette giver dig mulighed for at få webindhold til at matche den visuelle stil, som brugeren er vant til fra native apps, og potentielt også drage fordel af systemets optimeringer for skrifttypegengivelse.
Den mest direkte måde at gøre dette på er ved at bruge -apple-system-body værdien for font-egenskaben på dit html-element:
html {
font: -apple-system-body;
}Denne ene linje CSS gør to vigtige ting: Den indstiller skrifttypen til Apples systemskrifttype (som er San Francisco på moderne iOS-versioner), og den aktiverer også iOS's Dynamisk Skriftstørrelse-funktion for dit webindhold. Dynamisk Skriftstørrelse er en tilgængelighedsfunktion, der giver brugere mulighed for at justere tekststørrelsen på systemniveau, og med denne CSS-regel vil dit webindhold automatisk skalere med brugerens præference.
Hvor UIFont.systemFontOfSize(), UIFont.boldSystemFontOfSize() og UIFont.italicSystemFontOfSize() bruges i native iOS-udvikling, kan -apple-system-body i CSS give en lignende effekt for webindhold. For at opnå specifikke vægte som UIFontWeightMedium eller UIFontWeightSemibold, kan du kombinere -apple-system-body med standard CSS font-weight-egenskaber. Dog er det ikke alle vægte, der er direkte tilgængelige via -apple-system-body alene, men du kan ofte få et tilfredsstillende resultat ved at sætte font-weight til værdier som 400 (normal), 600 (semibold) eller 700 (bold).
Brug af '@supports' for Bedre Kontrol
Hvis du ønsker at bruge Apples systemskrifttype og Dynamisk Skriftstørrelse kun på Apple-enheder, men samtidig opretholde en specifik skrifttypefamilie på andre platforme, kan du indpakke din CSS i en @supports betinget blok:
@supports (font: -apple-system-body) {
html {
font: -apple-system-body;
}
}
body {
font-family: "Din Foretrukne Skrifttype", Arial, sans-serif; /* Eller enhver anden skrifttype */
}
p {
font-size: 1.25rem;
}@supports-reglen er en moderne CSS-funktion, der giver dig mulighed for at skrive betinget CSS baseret på browserens understøttelse af specifikke deklarationer. I dette tilfælde vil CSS'en inden i blokken kun blive anvendt, hvis browseren understøtter font: -apple-system-body, hvilket primært er tilfældet for Safari på iOS og macOS. Derefter kan du frit specificere dine egne font-family'er og rem-baserede relative font-size'er på efterfølgende elementer. Dette sikrer, at dit website ser optimalt ud på Apple-enheder, mens det stadig bruger dine foretrukne skrifttyper på andre platforme.
Hvis du allerede har indstillet en brugerdefineret rem-størrelse i px på dit html-element og ønsker at bevare den på ikke-Apple-enheder, skal font-definitionen være !important:
@supports (font: -apple-system-body) {
html {
font: -apple-system-body !important;
}
}
/* Andre globale stilarter */
html {
font-size: 16px; /* Eksempel på basis rem-størrelse for ikke-Apple-enheder */
}Dette er en kraftfuld teknik til at skabe mere tilgængelige websites for Apple-enheder uden at forringe udseendet på andre platforme.
Hvorfor 'rem' er afgørende for Dynamisk Skriftstørrelse
Når du arbejder med Dynamisk Skriftstørrelse på iOS, er det afgørende at bruge rem (root em) enheder til dine skriftstørrelser i stedet for px. En rem-enhed er relativ til skriftstørrelsen på rod-elementet (html). Når iOS's Dynamisk Skriftstørrelse ændrer skriftstørrelsen på rod-elementet via -apple-system-body, vil alle elementer, der bruger rem-enheder, automatisk skalere proportionalt. Dette sikrer, at hele din tekstindhold tilpasser sig brugerens præferencer for tekststørrelse, hvilket forbedrer tilgængeligheden markant for brugere med synshandicap eller dem, der foretrækker større tekst.
At bruge px til skriftstørrelser ville fastlåse teksten til en absolut størrelse, hvilket ignorerer brugerens systemindstillinger og potentielt skaber en dårlig brugeroplevelse. Derfor er rem den foretrukne enhed for responsiv og tilgængelig skriftstørrelse på webbet generelt, og især når man integrerer med iOS's Dynamisk Skriftstørrelse.
Sammenligning: Standard CSS vs. iOS-specifikke Metoder
For at opsummere de forskellige tilgange til skriftstyring på iOS, lad os se på en sammenligning af standard CSS-metoder og de mere iOS-specifikke teknikker:
| Egenskab | Standard CSS (Generel Anvendelse) | iOS-specifik CSS (Forbedret Oplevelse) | Fordele | Ulemper |
|---|---|---|---|---|
| Primær Skrifttypekontrol | font-family: "Min Font", Helvetica, sans-serif; | font: -apple-system-body; (på html-elementet) | Bred kompatibilitet, fuld kontrol over skrifttypevalg | Giver ikke automatisk adgang til Dynamisk Skriftstørrelse, kan afvige fra native look |
| Skriftstørrelse | font-size: 16px; eller font-size: 1em; | font-size: 1.25rem; (efter font: -apple-system-body;) | Præcis pixelkontrol | Ignorerer brugerens systempræferencer for tekststørrelse (med px) |
| Tilgængelighed (Dynamisk Skriftstørrelse) | Kræver manuel implementering (f.eks. med JS og cookies) eller er begrænset | Automatisk aktiveret via -apple-system-body | Automatisk skalering baseret på brugerens OS-indstillinger | Kan kun anvendes på Apple-enheder med denne metode |
| Betinget CSS | Medieforespørgsler (@media) for skærmstørrelse | @supports (font: -apple-system-body) { ... } | Generel responsivitet | Kræver specifik CSS-funktion, ikke tilgængelig i ældre browsere |
| Udseende | Kan variere afhængigt af browser og OS's standard skrifttype | Giver et 'native' udseende, der matcher iOS-apps | Ensartet Apple-økosystem oplevelse | Kan kræve fallback for non-Apple-enheder |
Ofte Stillede Spørgsmål om Skrifttyper på iOS
Fungerer CSS 'font-family' på iOS-enheder?
Ja, CSS's font-family-egenskab fungerer fuldt ud på iOS-enheder. Du kan definere skrifttyper og fallback-familier, som browseren vil forsøge at gengive. Det er dog altid en god idé at teste på faktiske enheder, da rendering kan variere en smule.
Hvordan bruger jeg iOS systemskrifttyper i CSS?
Du kan bruge font: -apple-system-body; på dit html-element for at aktivere Apples systemskrifttype og Dynamisk Skriftstørrelse. For at gøre dette betinget for kun Apple-enheder, kan du indpakke det i en @supports (font: -apple-system-body) { ... } blok.
Hvad er Dynamisk Skriftstørrelse (Dynamic Type) på iOS?
Dynamisk Skriftstørrelse er en tilgængelighedsfunktion i iOS, der giver brugere mulighed for at justere den foretrukne tekststørrelse på systemniveau. Ved at bruge -apple-system-body og rem-enheder i din CSS, kan dit webindhold automatisk tilpasse sig disse brugerindstillinger, hvilket forbedrer læsbarheden for alle.
Skal jeg bruge 'rem' til skriftstørrelser på iOS?
Ja, det anbefales kraftigt at bruge rem-enheder til skriftstørrelser. Når du aktiverer Dynamisk Skriftstørrelse via -apple-system-body, vil rem-enheder sikre, at din tekst skalerer korrekt i forhold til brugerens systemindstillinger. Dette skaber en mere tilgængelig og responsiv oplevelse.
Hvad er forskellen på serif og sans-serif skrifttyper?
Serif-skrifttyper har små dekorative streger (seriffer) ved enderne af bogstaverne, hvilket giver et traditionelt og formelt udseende. Sans-serif-skrifttyper har rene linjer uden disse streger og giver et mere moderne og minimalistisk udseende. På digitale skærme, især i mindre størrelser, anses sans-serif-skrifttyper ofte for at være lettere at læse.
At forstå og implementere disse CSS-teknikker er afgørende for at levere en optimal brugeroplevelse på iOS-enheder. Ved at udnytte systemets indbyggede funktioner forbedrer du ikke kun æstetikken, men også tilgængeligheden af dit webindhold, hvilket er til gavn for alle brugere.
Hvis du vil læse andre artikler, der ligner Skrifttyper på iOS: CSS og Mobiloplevelsen, kan du besøge kategorien Teknologi.
