5.1 Das Attribut srcset
Responsive Bilder spielen eine wichtige Rolle bei der Erstellung von reaktionsschnellen und optimierten Webseiten. Sie ermöglichen das Laden von Bildern in verschiedenen Größen und Auflösungen, abhängig vom Gerät und den Sichtbedingungen, was die Leistung und Benutzerfreundlichkeit verbessert. Die Hauptwerkzeuge zur Umsetzung responsiver Bilder in HTML sind die Attribute srcset und sizes.
Das Attribut srcset wird verwendet, um mehrere Bildquellen mit unterschiedlichen Größen oder Auflösungen anzugeben. Der Browser wählt das am besten geeignete Bild je nach Benutzergerät aus.
Syntax:
<img src="default.jpg" srcset="image1.jpg 1x, image2.jpg 2x" alt="Beispielbild">
Wo:
src: gibt den Pfad zum Standardbild ansrcset: enthält eine Liste von Bildern und deren Eigenschaften, durch Kommas getrennt-
1x,2x: geben den Skalierungsfaktor an (z. B.1xfür normale Auflösung und2xfür Geräte mit hoher Pixeldichte)
Beispiel für die Verwendung von srcset:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Beispiel für die Verwendung von srcset</title>
</head>
<body>
<img
src="images/default.jpg"
srcset="images/image-small.jpg 480w,
images/image-medium.jpg 800w,
images/image-large.jpg 1200w"
alt="Beispiel für ein responsives Bild">
</body>
</html>
Erklärung des Codes:
src="images/default.jpg": gibt das Standardbild an-
srcset: enthält eine Liste von Bildern mit deren Breite in Pixel (480w,800w,1200w). Der Browser wählt das am besten geeignete Bild je nach der Breite des Viewports
5.2 Das Attribut sizes
Das Attribut sizes wird in Verbindung mit srcset verwendet, um die Breite des Bildes unter verschiedenen Anzeigeumständen anzugeben. Dies ermöglicht es dem Browser, das passende Bild genauer auszuwählen.
Syntax:
<img src="default.jpg"
srcset="image1.jpg 480w, image2.jpg 800w"
sizes="(max-width: 600px) 480px, 800px"
alt="Beispielbild">
Wo:
sizes: enthält eine Liste von Anzeigeumständen und zugehörigen Bildbreiten(max-width: 600px) 480px: wenn die Breite des Viewports kleiner oder gleich600pxist, ein Bild mit480pxBreite verwenden800px: in allen anderen Fällen ein Bild mit800pxBreite verwenden
Beispiel für die Verwendung von sizes:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Beispiel für die Verwendung von sizes</title>
<style>
.responsive-img {
width: 100%;
max-width: 100%;
height: auto;
}
</style>
</head>
<body>
<img
class="responsive-img"
src="images/default.jpg"
srcset="images/image-small.jpg 480w,
images/image-medium.jpg 800w,
images/image-large.jpg 1200w"
sizes="(max-width: 600px) 480px,
(max-width: 900px) 800px,
1200px"
alt="Beispiel für ein responsives Bild">
</body>
</html>
Erklärung des Codes:
sizes definiert die Breite des Bildes für verschiedene Anzeigeumstände:
- Wenn die Breite des Viewports kleiner oder gleich
600pxist, ein Bild mit480pxBreite verwenden - Wenn die Breite des Viewports kleiner oder gleich
900pxist, ein Bild mit800pxBreite verwenden - In allen anderen Fällen ein Bild mit
1200pxBreite verwenden
5.3 Responsive Bilder
Responsive Bild für verschiedene Bildschirmgrößen
Lass uns ein Beispiel erstellen, bei dem sich ein Bild an verschiedene Bildschirmgrößen anpasst, indem die Attribute srcset und sizes verwendet werden.
Beispiel:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Responsives Bild</title>
<style>
.responsive-img {
width: 100%;
height: auto;
}
</style>
</head>
<body>
<img
class="responsive-img"
src="images/default.jpg"
srcset="images/image-small.jpg 480w,
images/image-medium.jpg 800w,
images/image-large.jpg 1200w"
sizes="(max-width: 600px) 480px,
(max-width: 900px) 800px,
1200px"
alt="Beispiel für ein responsives Bild">
</body>
</html>
Erklärung des Codes:
src="images/default.jpg": gibt das Standardbild ansrcset: definiert drei Versionen des Bildes mit unterschiedlichen Breiten (480w,800w,1200w)-
sizes: definiert die Breite des Bildes für verschiedene Bedingungen:- bis
600px— ein Bild mit480pxBreite verwenden - bis
900px— ein Bild mit800pxBreite verwenden - größer als
900px— ein Bild mit1200pxBreite verwenden
- bis
-
.responsive-img: CSS-Klasse, die dem Bild eine Breite von100%und eine automatische Höhe gibt, damit es den verfügbaren Platz nutzt und die Proportionen beibehält
GO TO FULL VERSION