Das Web stellt unterschiedliche Anforderungen an die Formate von Bildern, Fotos und Grafiken.
Die Qualität soll hoch, aber die Dateigröße soll gering gehalten werden, um lange Ladezeiten zu vermeiden.
Die drei geläufigsten Bildformate sind .jpg .png und .gif. Aber auch .svg oder .swf (z.B. Adobe Flash) können eingebunden werden.
img-Element
Mit dem img-Element werden Grafikdateien in HTML eingebunden. Das img-Tag ist ein inline-block Element (eine Mischung aus Inline und Block-Element) in einem
Standalone-Tag.
<img src="bildname.png" alt="Bildbeschreibung">
Folgende Attribute stehen zur Verfügung
- alt: Bildbeschreibung (Pflicht)
- crossorigin: regelt, ob und welche fremden Seiten per Skript direkt auf das Bild zugreifen können
- height: Bildhöhe in Pixel oder Prozent
- width: Bildbreite in Pixel oder Prozent
- ismap: boolescher Wert für klickbare serverseitige Image Map
- longdesc: URL einer Quelle, für ausführliche Beschreibung des Bildes
- src: Bildname und Pfad
- usemap: Name einer Image Map
picture-Element
Das picture-Element wird verwendet, um verschiedene Versionen eines Bildes für unterschiedliche Anzeigebedingungen bereitzustellen.
Es ermöglicht die Definition mehrerer Bildquellen (<source>), die jeweils eigene Medientypen oder Größenbeschränkungen haben.
Der Browser wählt dann die passendste Quelle basierend auf den aktuellen Anzeigeeigenschaften des Geräts aus.
source-Element
Das picture-Element alleine kann nichts machen, sie müssen unbedingten eines oder mehrere source-Tags schreiben.
Mit jedem source-Element definieren sie ein Bild mit unterschiedlichen Größen. Der jeweilige Browser ladet dann das für ihn passende Bild.
Sollte der Browser das picture-Tag nicht kennen, bzw sollte kein media-Attribut zutreffen, steht ein Fallback zur Verfügung, welches nach den source-Elemente geschrieben wird.
<picture>
<source media="(min-width: 980px)" srcset="bild-980.jpg">
<source media="(min-width: 480px)" srcset="bild-480.jpg">
<!---Fallback--->
<img src="bild.jpg" alt="Bild">
</picture>
Fallback
Geben Sie immer ein img-Element als letztes Kindelement des picture-Elements an.
Das img-Element wird von Browsern verwendet, die das picture-Element nicht unterstützen oder wenn keine der source-Tags übereinstimmen.
Folgende Attribute stehen zur Verfügung
- srcset: Pfad und Dateiname für Bilddateien im picture-Element
- media: für media queries z.B. (min-width: 1024px)
- type: MIME-Typ
- sizes: Größenangabe für unterschiedliche Seitenlayouts (nur Bilder)
Format-Unterstützung
Manche Browser oder Geräte unterstützen nicht alle Bildformate. Durch die Verwendung des picture-Elements können Sie Bilder in verschiedenen Formaten bereitstellen.
Der Browser verwendet das erste Format, das er erkennt, und ignoriert alle nachfolgenden Elemente.
<picture>
<source srcset="img_avatar.png">
<source srcset="img_girl.jpg">
<img src="img_beatles.gif" alt="Beatles" style="width:auto;">
</picture>
Der Browser wird das erste source-Element mit übereinstimmenden Attributwerten verwenden und alle folgenden source-Elemente ignorieren.