HTML5-udvikling: Sådan fungerer SVG i browserne

En serie artikler giver dig overblikket over, hvordan HTML5 fungerer i browserne Chrome, Firefox, Internet Explorer, Opera og Safari. Her handler det om SVG-grafik.

Artikel top billede

Læs også:

Her er de vigtigste funktioner i det nye HTML5

Sådan fungerer canvas-tag'et

Sådan fungerer video og lyd

Sådan fungerer WebGL

Som nævnt i canvas-afsnittet blev WWW bygget på den idé, at dataene skulle leveres i et enkelt format og så vises eller fortolkes af en lokal computer.

Formatet scalable vector graphics (SVG) blev opfundet til at oversætte almindelig ASCII-tekst til grafiske former. De første komitemøder fandt sted i 1999, men det hårde arbejde er nu endelig ved at bære frugt.

Nu, hvor Microsoft tilføjer understøttelse af SVG i IE9, vil stort set alle de større browsere også understøtte formatet.

Målet med SVG-formatet er at give browsere den samme slags præcision i specificeringen af en tegning, som PostScript gav i forhold til udskrift af dokumenter.

I stedet for at rendere objekter ved at specificere pixels, så er tegningen lavet af linjer og former, som er defineret af tags som det herunder, der producerer en cirkel med en radius på 40 pixels:

circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red"

Resultaterne er fantastisk godt egnede til linjetegninger, fordi browseren kan skabe et billede, der er tilpasset skærmens opløsning. Brugeren kan zoome ind og ud og computerens grafikprocessor renderer resultatet.

Videoer og spil lavet af animerede sprites er lette at specificere og levere, fordi de kan være så små. Selvom alle tag'ene og deres mange attributter gør formatet vanvittigt ordrigt, så kan grundlæggende gzip-kompression fjerne 80 procent af dette syntaktiske spæklag. SVGZ-filer er forudkomprimerede.

Stadig et stykke vej igen

Betyder Microsofts ankomst til festen, at alle nu taler samme sprog? Selvfølgelig ikke. Mobilproducenter, der var bekymrede over at spilde batterilevetid på overpyntede SVG-panoramaer, opfandt to underformater: SVGB (SVG Basic) og SVGT (SVG Tiny).

De har skilt sig af med et antal funktioner, der sandsynligvis alligevel ikke gør megen nytte på de små mobilskærme, såsom muligheden for at specificere dimensioner i andre værdier end pixels. Det betyder ingen brug af pica eller millimeter, og SVGT tillader kun solide farveudfyldninger.

Der er også mange forskelle i desktop-implementeringen af browserne. Mens de alle efter sigende implementerer kerneversionen af SVG, så er der visse udviklere, der eksperimenterer med at kunne gøre endnu mere med den fleksible standard.

Nogen har eksempelvis tilføjet et nyt animate-tag, der beskriver en sti, som objekter kan bevæge sig ad. Når objekterne er tegnet, kan SVG-enginen udregne en ny placering for dem og så tegne dem igen.

Al den samme matematik og tag-infrastruktur til tegning af linjerne kan genbruges til at plotte den sti, som objekterne skal følge.

På nuværende tidspunkt understøtter Gecko- og WebKit-browsere denne funktion, mens IE9 ikke er kommet med på vognen endnu.

En anden plan er at lade browseren påføre alle SVG-effekterne såsom filtre og masker til ethvert arbitrært stykke HTML. Mozilla var først til at implementere denne tilgang og lavede et udkast til SVG-effekter til CSS, som HTML-holdet kunne overveje.

De andre browsere har nogen understøttelse, som dog udbredt anses for at være mere fejlfyldt - og inkonsistent med den måde, som idéen er implementeret i Firefox. Der bør dog ikke overraske nogen, da det var de samme folk hos Mozilla, der både skrev koden og specifikationen.

SVG-skrifttyper

Et tredje område med inkonsistens findes i implementeringen af SVG-skrifttyper. Til forskel fra PostScript gør den grundlæggende version af SVG det ikke let at lave ethvert arbitrært mønster af linjer om til et skrifttegn.

WebKit-browserne har grundlæggende understøttelse af SVG-skrifttyper, så det er lettere at tilføje ord til SVG-tegninger. IE og Gecko arbejder stadig på det.

Visse browsere har også taget en anden potentiel udvidelse til sig. Efter at have lavet de renderings-engines, der producerer uendeligt skarpe billeder end uendelig præcision, tog visse SVG-brugere et skridt tilbage og besluttede, at billederne måske ville være lidt lækrere, hvis de kunne være en smule mere slørede. (Nogle mennesker bliver bare aldrig tilfredse.)

I hvert fald tilbyder Chrome, Opera og Firefox SVG-filtre, der udjævner nærliggende pixels for at skabe blødere, pænere og ofte bizarre effekter, der ikke er lige så kolde og skarpe som de rene linjetegninger.

Min hurtige SVG-test giver dig en nem måde at kontrollere din browsers evne til at vise både indlejrede og indrammede SVG-tags.

Andre M. Winter har skabt en god samling af SVG-eksempler og -test, der viser mange af de måder, hvorpå folk eksperimenterer med den grundlæggende SVG-standard samt adskillige af de foreslåede tilføjelser og udvidelser.

Indbygget understøttelse af SVG i aktuelle og fremtidige browsere:

Læs også:

Her er de vigtigste funktioner i det nye HTML5

Sådan fungerer canvas-tag'et

Sådan fungerer video og lyd

Sådan fungerer WebGL

Læses lige nu
    Computerworld Events

    Vi samler hvert år mere end 6.000 deltagere på mere end 70 events for it-professionelle.

    Ekspertindsigt – Lyt til førende specialister og virksomheder, der deler viden om den nyeste teknologi og de bedste løsninger.
    Netværk – Mød beslutningstagere, kolleger og samarbejdspartnere på tværs af brancher.
    Praktisk viden – Få konkrete cases, værktøjer og inspiration, som du kan tage direkte med hjem i organisationen.
    Aktuelle tendenser – Bliv opdateret på de vigtigste dagsordener inden for cloud, sikkerhed, data, AI og digital forretning.

    Infrastruktur | Horsens

    Enterprise Architecture Day 2026: Sikker og strategisk suverænitet

    Få ny inspiration til arbejdet med EA – fra sikkerhed og compliance til orkestrering, omkostningsoptimering og cloud governance i en usikker og ustabil tid.

    Sikkerhed | Aarhus C

    Executive roundtable: Cyberrobusthed i praksis

    Cyberangreb rammer driften. NIS2 og DORA kræver dokumenteret gendannelse under pres. Få konkret metode til at teste, måle og bevise robusthed på tværs af cloud, SaaS og leverandører. Deltag i lukket roundtable med Commvault og Hitachi.

    Digital transformation | København Ø

    Sådan etablerer du digital suverænitet

    Digital suverænitet afgør kontrol over data, systemer og afhængigheder i Danmark. Computerworld samler Dansk Erhverv og IBM-eksperter om konkrete arkitekturvalg, governance og platforme, der sikrer reel kontrol. Få overblik og handlekraft.

    Se alle vores events inden for it

    Navnenyt fra it-Danmark

    Idura har pr. 5. januar 2026 ansat Arjuna Enait, 34 år,  som software engineer. Han skal især beskæftige sig med videreudvikling af Verify-systemet samt arbejde på implementeringen af CIBA i Norsk BankID. Han kommer fra en stilling som software engineer hos Lasso X. Han er uddannet civilingeniør med speciale i geoteknik. Han har tidligere beskæftiget sig med at bygge microservices til dataindsamling og -processering, samt opdatere legacy-systemer. Nyt job

    Arjuna Enait

    Idura

    Renewtech ApS har pr. 1. februar 2026 ansat Mads Linné Kaasgaard, 31 år,  som Marketing Specialist. Han skal især beskæftige sig med med at løfte Renewtechs brand og kommunikation yderligere ud globalt. Han kommer fra en stilling som Marketing Manager hos Induflex A/S. Han er uddannet fra Aalborg Universitet og har en Cand. Merc. i Sprog & International Virksomhedskommunikation. Nyt job

    Mads Linné Kaasgaard

    Renewtech ApS

    inciro K/S har pr. 1. februar 2026 ansat Lasse Fletcher som Cloud Consultant. Han skal især beskæftige sig med Governance og struktur i cloud miljøer. Han kommer fra en stilling som IT Tekniker hos CBrain A/S. Han er uddannet datatekniker med speciale i infrastruktur. Han har tidligere beskæftiget sig med kunde onboarding, Identitets styring, sikkerhed og IaC. Nyt job

    Lasse Fletcher

    inciro K/S