Hvorfor logiske egenskaber: internationalisering
Forstå, hvorfor fysiske CSS-egenskaber ødelægger RTL-layouts, og hvordan logiske egenskaber løser problemet.
Hvorfor logiske egenskaber: internationalisering er en gratis CSS Academy-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i CSS Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. CSS Academy-kurset indeholder 4 lektioner i alt.
Problemet med fysiske egenskaber
Traditionel CSS bruger fysiske retninger: top, right, bottom, left. Det fungerer fint for sprog, der skrives fra venstre mod højre (LTR), som engelsk, men giver problemer for sprog, der skrives fra højre mod venstre (RTL), som arabisk og hebraisk, eller for lodrette skriftsystemer som traditionel japansk.
Fysiske kontra logiske retninger
Sammenlign:
- Fysiske: top, right, bottom, left — fastlagt i forhold til skærmen
- Logiske: block-start, block-end, inline-start, inline-end — relative i forhold til skrivetilstanden
Blok- og inline-akser
Alle skriftsystemer har:
- Blokakse: retningen, som tekstblokke stables i (lodret i LTR/RTL, vandret i lodret skrift)
- Inline-akse: retningen, som teksten løber i inden for en linje (vandret i LTR/RTL, lodret i lodret skrift)
Layout i LTR og RTL
I LTR (engelsk): inline-start = left, inline-end = right. I RTL (arabisk): inline-start = right, inline-end = left. Logiske egenskaber tilpasser sig automatisk uden medieforespørgsler eller JavaScript.
De reelle omkostninger ved fysiske egenskaber
Et websted, der er skrevet med fysiske egenskaber, kræver et separat stilark med RTL-tilsidesættelser eller tilsidesættelser for hver margin-, padding-, border-, position- og text-alignment-egenskab, der skal spejlvendes. Det fordobler vedligeholdelsesarbejdet.
Skrivetilstanden påvirker akserne
Når writing-mode: vertical-rl er angivet (lodret japansk/koreansk skrift), bliver blokaksen vandret, og inline-aksen bliver lodret. Logiske egenskaber tilpasser sig automatisk.
<div class="vertical-text">縦書きテキスト Vertical Text</div>
Udbredelse i moderne CSS
Alle større browsere understøtter logiske egenskaber. CSS-specifikationen anbefaler nu at bruge logiske egenskaber for enhver egenskab, der vedrører en retning, som kan ændre sig med skrivetilstanden eller retningen.
Praktisk betydning
Én kodebase, der bruger logiske egenskaber korrekt, understøtter LTR, RTL og lodret skrift uden duplikering. CSS følger blot værdierne for direction og writing-mode på rodelementet.
dir="rtl" i HTML
Angiv skriveretningen i HTML, ikke kun i CSS:
<div dir="rtl" lang="ar" class="rtl-demo">هذا نص من اليمين إلى اليسار</div>
Trinvis indførelse
Du behøver ikke omskrive al din CSS på én gang. Begynd at bruge logiske egenskaber i nye komponenter. Med tiden kan du refaktorere fysiske egenskaber i komponenter, der indgår i områder, hvor internationalisering er vigtig.
CSS-egenskaben direction
CSS-egenskaben direction (ltr eller rtl) påvirker retningen for inline-flowet. Den fungerer sammen med writing-mode for at definere den komplette kontekst for skriftsystemet i elementet.
Hurtigt tjek
Hvorfor giver fysiske CSS-egenskaber som margin-left problemer i RTL-layouts?
Opsummering
CSS' logiske egenskaber bruger blok-/inline-modellen i stedet for de fysiske top/right/bottom/left. Det gør det muligt for ét stilark at fungere med LTR, RTL og lodrette skriftsystemer. Egenskaberne direction og writing-mode definerer den kontekst, som de logiske egenskaber automatisk tilpasser sig til.
Lær CSS med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 40
- Lektioner
- 159
Ofte stillede spørgsmål
Er lektionen “Hvorfor logiske egenskaber: internationalisering” gratis?
Ja — hele teksten til “Hvorfor logiske egenskaber: internationalisering” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af CSS Academy-kurset, skal du opgradere til CoddyKit PRO. CSS Academy-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Hvorfor logiske egenskaber: internationalisering”?
Forstå, hvorfor fysiske CSS-egenskaber ødelægger RTL-layouts, og hvordan logiske egenskaber løser problemet. Du øver dig i CSS Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på CSS Academy?
Der kræves ingen tidligere erfaring. CSS Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.
Hvor lang tid tager lektionen “Hvorfor logiske egenskaber: internationalisering”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne CSS Academy-lektion?
Ja. Alle CSS Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Hvorfor logiske egenskaber: internationalisering
- Block- og inline-retninger
- Logisk margin, padding og border
- Logiske egenskaber i RTL-layouts