Ein Bild einbinden
<img
src="images/landschaft.jpg"
alt="Berglandschaft mit einem See"
width="1200"
height="800"
>
Die Attribute width und height geben das
Seitenverhältnis des Bildes an. Der Browser kann dadurch bereits vor dem Laden
den benötigten Platz reservieren. Das verhindert unerwartete Verschiebungen des
Seiteninhalts.
Alternativtext richtig verwenden
Der Alternativtext beschreibt den Inhalt oder Zweck eines Bildes. Er ist
besonders für Screenreader und für den Fall wichtig, dass die Bilddatei nicht
geladen werden kann.
<img
src="images/excel-diagramm.png"
alt="Säulendiagramm mit den Umsätzen von Jänner bis Juni"
>
Rein dekorative Bilder erhalten ein leeres alt-Attribut. Dadurch
werden sie von Screenreadern normalerweise übersprungen.
<img src="images/dekoration.svg" alt="">
Das alt-Attribut sollte nicht vollständig fehlen. Außerdem sind
Formulierungen wie „Bild von“ meist unnötig, weil der Screenreader bereits
mitteilt, dass es sich um ein Bild handelt.
Bilder mit CSS responsiv gestalten
Ein Bild sollte auf kleinen Bildschirmen nicht breiter als sein umgebendes
Element werden. Dafür kann max-width: 100% verwendet werden.
img {
max-width: 100%;
height: auto;
display: block;
}
-
max-width: 100% begrenzt die Bildbreite auf die verfügbare
Breite.
-
height: auto erhält das ursprüngliche Seitenverhältnis.
-
display: block entfernt den für Inline-Elemente vorgesehenen
Abstand unterhalb des Bildes.
Bilder mit object-fit zuschneiden
Mit object-fit wird festgelegt, wie ein Bild in einen Bereich mit
vorgegebener Breite und Höhe eingepasst wird.
| Wert |
Bedeutung |
fill |
Füllt den Bereich vollständig aus. Das Seitenverhältnis kann dabei
verändert werden.
|
contain |
Zeigt das vollständige Bild. Freie Bereiche können sichtbar bleiben.
|
cover |
Füllt den Bereich vollständig aus. Teile des Bildes können abgeschnitten
werden.
|
none |
Das Bild wird nicht an den verfügbaren Bereich angepasst. |
scale-down |
Verwendet die kleinere Darstellung aus none und
contain.
|
.teaser-image {
width: 100%;
height: 250px;
object-fit: cover;
object-position: center;
}
Mit object-position kann zusätzlich bestimmt werden, welcher
Bildbereich beim Zuschneiden bevorzugt sichtbar bleibt.
Bilder verzögert laden
Mit loading="lazy" kann das Laden von Bildern hinausgezögert
werden, die sich zunächst außerhalb des sichtbaren Bereichs befinden.
<img
src="images/produkt.jpg"
alt="Produktansicht eines Notebooks"
width="800"
height="600"
loading="lazy"
>
Ein wichtiges Bild am Anfang der Seite sollte normalerweise nicht verzögert
geladen werden, weil es sofort sichtbar sein soll.