Gestochen scharfe Icons auf jedem Bildschirm? Animierte Grafiken ohne Qualitätsverlust? Mit HTML SVG bekommst du genau das! SVG-Grafiken sind vielseitig, performant und perfekt für modernes Webdesign. Hier lernst du alles über die verschiedenen Einbindungsmethoden.
Einführung in das HTML SVG Tutorial
Was ist SVG?
SVG steht für Scalable Vector Graphics – skalierbare Vektorgrafiken. Anders als Pixelbilder bestehen SVG-Grafiken aus mathematischen Beschreibungen von Formen, Linien und Farben. Das Ergebnis: Sie bleiben bei jeder Größe gestochen scharf!
SVG ist ein XML-basiertes Format, das speziell fürs Web entwickelt wurde. Du kannst SVG-Elemente mit CSS stylen und mit JavaScript animieren. Das macht sie extrem flexibel.
SVG vs. andere Grafikformate
| Format | Am besten für | Skalierung |
|---|---|---|
| SVG | Icons, Logos, Illustrationen | Perfekt |
| PNG | Grafiken mit Transparenz | Wird unscharf |
| JPG | Fotos mit vielen Farbnuancen | Wird unscharf |
Typische Anwendungsfälle
Du verwendest HTML SVG hauptsächlich für:
- Icons in Navigation und Buttons
- Logos im Header
- Einfache Diagramme und Infografiken
- Animierte Illustrationen
- Social-Media-Buttons
Voraussetzungen
Benötigte HTML-Kenntnisse
Du solltest HTML-Tags und Attribute kennen. Falls du noch Auffrischung brauchst, schau in unseren HTML-Grundlagen-Kurs. CSS-Basics sind hilfreich, aber nicht zwingend.
Entwicklungsumgebung
Texteditor und moderner Browser reichen aus. Für komplexere Grafiken kannst du Inkscape (kostenlos) oder Adobe Illustrator nutzen. Für den Anfang zeichnen wir SVG direkt im Code.
Schritt-für-Schritt-Anleitung
1. SVG inline einbetten
Die direkteste Methode: SVG-Code direkt ins HTML schreiben. Das gibt dir maximale Kontrolle über CSS-Styling und JavaScript-Interaktion.
<svg width="200" height="200" xmlns="http://www.w3.org/2000/svg">
<circle cx="100" cy="100" r="80" fill="blue" stroke="black" stroke-width="3"/>
<text x="100" y="105" text-anchor="middle" fill="white">Hallo SVG</text>
</svg>
Das svg-Element definiert die Zeichenfläche. circle und text sind die eigentlichen Grafikelemente. Die Attribute cx, cy und r bestimmen Position und Radius.
2. SVG über img-Tag
Einfachste Methode für externe SVG-Dateien:
<img src="icon.svg" alt="Rotes Icon" width="50" height="50">
<img src="logo.svg" alt="Firmenlogo" class="responsive-logo">
Vorteil: Browser-Caching, schnelles Laden.
Nachteil: Kein CSS-Styling der SVG-Elemente möglich.
3. SVG als Hintergrundbild
.svg-background {
width: 300px;
height: 200px;
background-image: url('pattern.svg');
background-repeat: no-repeat;
background-size: cover;
}
Perfekt für dekorative Elemente und wiederkehrende Muster.
[bildapi id="001" prompt="A clean illustration showing various SVG shapes like circles, rectangles, and paths on a web browser screen, demonstrating responsive SVG graphics with modern web design elements" name="svg-shapes-responsive" alt="SVG Formen und responsive Grafiken in HTML dargestellt"]
Code-Beispiele zu HTML SVG
Grundformen erstellen
<svg width="400" height="300" xmlns="http://www.w3.org/2000/svg">
<!-- Rechteck -->
<rect x="10" y="10" width="100" height="50" fill="green"/>
<!-- Kreis -->
<circle cx="200" cy="35" r="25" fill="orange"/>
<!-- Ellipse -->
<ellipse cx="320" cy="35" rx="40" ry="25" fill="purple"/>
<!-- Linie -->
<line x1="10" y1="100" x2="150" y2="100" stroke="red" stroke-width="3"/>
<!-- Polygon (Dreieck) -->
<polygon points="200,150 250,100 300,150" fill="blue"/>
</svg>
Responsive SVG-Grafiken
Der Schlüssel: viewBox statt fester Größe!
<style>
.responsive-svg {
width: 100%;
max-width: 500px;
height: auto;
}
</style>
<svg class="responsive-svg" viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
<rect x="20" y="20" width="160" height="160" fill="lightblue" rx="20"/>
<circle cx="100" cy="100" r="50" fill="navy"/>
<text x="100" y="105" text-anchor="middle" fill="white">Responsiv</text>
</svg>
Das viewBox-Attribut definiert das Koordinatensystem unabhängig von der Darstellungsgröße. Die CSS-Klasse sorgt für responsive Anpassung.
SVG mit CSS stylen
<style>
.styled-svg circle {
fill: blue;
transition: fill 0.3s ease;
}
.styled-svg circle:hover {
fill: red;
cursor: pointer;
}
.animated-rect {
animation: pulse 2s infinite;
}
@keyframes pulse {
0%, 100% { opacity: 1; }
50% { opacity: 0.5; }
}
</style>
<svg class="styled-svg" width="300" height="150">
<rect class="animated-rect" x="20" y="20" width="80" height="80" fill="green"/>
<circle cx="200" cy="60" r="40"/>
<text x="150" y="130" fill="purple">Hover über den Kreis!</text>
</svg>
Häufige Fehler & Troubleshooting
SVG wird nicht angezeigt
Checke diese Punkte:
xmlns="http://www.w3.org/2000/svg"vorhanden?- width und height definiert?
- Pfad zur externen Datei korrekt?
Größenprobleme
SVG zu groß oder zu klein? Meist liegt's am Zusammenspiel von width, height und viewBox. Für responsive Grafiken: Lass width/height weg und nutze nur viewBox + CSS.
Browser-Kompatibilität
Moderne Browser unterstützen SVG vollständig. Nur IE < 9 macht Probleme. Für maximale Kompatibilität: einfache Features ohne komplexe Animationen nutzen.
Best Practices für HTML SVG
Performance optimieren
- Überflüssige Attribute entfernen
- Tools wie SVGO für automatische Optimierung
- Einfache Formen statt komplexer Pfade
- SVG-Sprites für mehrere Icons
Semantisches SVG
Nutze title und desc für Barrierefreiheit und SEO:
<svg role="img" aria-label="Firmenlogo">
<title>Firmenlogo der Beispiel GmbH</title>
<desc>Blaues Quadrat mit weißem Schriftzug</desc>
<!-- SVG-Inhalt -->
</svg>
SEO-Tipps
- Text im SVG ist indexierbar
- Bei externen SVGs: alt-Attribut im img-Tag
- Für Inline-SVG: role="img" und aria-label
[bildapi id="002" prompt="A technical diagram showing HTML code with SVG elements highlighted, demonstrating best practices for SEO optimization and semantic markup with clean, professional styling" name="svg-seo-best-practices" alt="HTML SVG SEO Best Practices und semantisches Markup Beispiel"]
Fazit
Du beherrschst jetzt die wichtigsten Techniken für HTML SVG: Inline-Einbettung für maximale Kontrolle, img-Tag für einfache Einbindung und CSS-Hintergrund für Dekoration. Du weißt, wie du responsive SVG-Grafiken erstellst und typische Fehler vermeidest.
SVG-Grafiken bieten unschlagbare Vorteile: gestochen scharf bei jeder Größe, CSS-stylebar und oft kleiner als Pixelbilder. Nutze diese Möglichkeiten für professionelles Webdesign!
Im nächsten Tutorial lernst du, wie du HTML-Tabellen responsiv machst – wichtig für mobile Nutzer und gutes UX-Design.