Elementerne bdi og bdo
Isolér og tilsidesæt tekstretningen med bdi og bdo
Elementerne bdi og bdo er en gratis HTML Academy-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i HTML Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. HTML Academy-kurset indeholder 4 lektioner i alt.
Hvorfor bruge bidi-kontrolelementer
Unicode Bidirectional Algorithm håndterer normalt tekst med blandede retninger godt, men nogle gange skal du tilsidesætte den — for at isolere et brugernavn, som ellers ville ændre retningen på den omgivende tekst, eller for at tvinge en bestemt retning i en kodeblok.
bdi-elementet
<bdi> (isolation i tovejs tekst) behandler sit indhold som en separat bidi-kontekst. Tekstens retning inde i <bdi> kan ikke påvirke tekstens retning uden for elementet, og omvendt.
<p>User <bdi>{username}</bdi> posted at 12:34</p>Anvendelse: Brugernavne
En liste over brugere med blandede engelske og arabiske navne risikerer, at de arabiske navne "lækker" deres RTL-flow ind i den omgivende tekst. Hvis hvert navn pakkes ind i <bdi>, isoleres det: layoutet forbliver ensartet uanset hvilken retning det enkelte navn har.
bdo-elementet
<bdo dir="rtl"> (tilsidesættelse af tovejsretningen) tvinger en bestemt retning på sit indhold og tilsidesætter den naturlige bidi-beregning. Brug det, når du vil vise tekst i en ikke-naturlig retning — for eksempel for at gengive kodestykker i LTR på en RTL-side.
<bdo dir="ltr">someEnglishCode();</bdo>Forskellen fra dir
Attributten dir på et almindeligt element fastsætter en grundretning, og bidi-algoritmen anvendes stadig indeni. <bdo> deaktiverer bidi-algoritmen for sit indhold — hvert tegn flyder strengt i den angivne retning uanset dets skriftsystem.
Hvornår du skal bruge bdi
Når du indlejrer brugergenereret tekst i en omgivende brugerflade — navne i chatoverskrifter, brugernavne i kommentarer eller titler i feed-elementer. Isoleringen garanterer, at brugerfladens layout ikke påvirkes af det, brugeren har skrevet.
Hvornår du skal bruge bdo
Sjældent. Den vigtigste legitime anvendelse er at undervise i bidirektional tekst (vise, hvordan en streng ser ud, når den er vendt om) eller korrigere data med forkerte tags, hvor den naturlige bidi-opløsning giver den forkerte visuelle rækkefølge.
Kombineret med dir="auto"
Til brugerindhold med ukendt retning kan du kombinere <bdi dir="auto"> for ekstra sikkerhed: Den automatiske registrering vælger en grundretning ud fra indholdet, og bdi forhindrer, at denne retning lækker ud i den omgivende tekst.
Browserunderstøttelse
bdi og bdo understøttes i alle moderne browsere. De er en del af HTML5 og har været stabile i årevis. Ældre versioner af IE mangler bdi, men de er funktionelt forældede; moderne websteder kan bruge bdi uden problemer.
Tilgængelighed
Skærmlæsere respekterer bidi-isolering: Tekst inde i <bdi> læses op med stemmen for sit eget sprog (når lang er angivet), uden at den omgivende kontekst trænger ind. bdi hjælper også tekst-til-tale med at generere passende pauser omkring isolerede fraser.
Almindeligt mønster: i18n i skabeloner
Skabeloner med pladsholdere ("Velkommen, {name}") bør omslutte pladsholderen med <bdi>: Welcome, <bdi>{name}</bdi>. Ethvert brugernavn – engelsk, arabisk eller blandet – vises korrekt uden at forstyrre resten af hilsenen.
Videnstjek
Hvad er den praktiske forskel på og ?
Opsummering
bdi isolerer tekstretningen i en sektion, så den ikke påvirker omgivelserne – brug det til indlejret brugerindhold som navne i skabeloner. bdo gennemtvinger en bestemt retning og tilsidesætter bidi, men er sjældent nødvendigt uden for undervisningseksempler. Kombiner bdi med dir="auto" for sikker håndtering af brugerleveret tekst på ukendte sprog.
Lær HTML 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 “Elementerne bdi og bdo” gratis?
Ja — alle 3 lektioner i læringssporet HTML Academy, inklusive “Elementerne bdi og bdo”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. HTML Academy-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Elementerne bdi og bdo”?
Isolér og tilsidesæt tekstretningen med bdi og bdo Du øver dig i HTML 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å HTML Academy?
Der kræves ingen tidligere erfaring. HTML 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 3 af 4.
Hvor lang tid tager lektionen “Elementerne bdi og bdo”?
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 HTML Academy-lektion?
Ja. Alle HTML 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
- lang-attributten og skærmlæsere
- dir=rtl til højre-mod-venstre-tekst
- Elementerne bdi og bdo
- charset og Unicode-håndtering: specialtegn