<img>: Das Image Embed Element
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
* Some parts of this feature may have varying levels of support.
Das <img> HTML Element bettet ein Bild in das Dokument ein.
Probieren Sie es aus
<img
class="fit-picture"
src="/shared-assets/images/examples/grapefruit-slice.jpg"
alt="Grapefruit slice atop a pile of other slices" />
.fit-picture {
width: 250px;
}
Das obige Beispiel zeigt die Verwendung des <img> Elements:
- Das
srcAttribut enthält den Pfad zum Bild, das Sie einbetten möchten. Es ist nicht zwingend erforderlich, wenn das srcset Attribut verfügbar ist. Mindestens eines dersrcodersrcsetAttribute muss jedoch angegeben werden. - Das
altAttribut enthält einen textuellen Ersatz für das Bild, der obligatorisch und ungemein nützlich für die Barrierefreiheit ist – Screenreader lesen den Attributwert vor, damit die Nutzer wissen, was das Bild bedeutet. Der Alt-Text wird auch auf der Seite angezeigt, wenn das Bild aus irgendeinem Grund nicht geladen werden kann: zum Beispiel Netzwerkfehler, Inhaltsblockierung oder Linkverfall.
Es gibt viele andere Attribute, um verschiedene Zwecke zu erreichen:
- Kontrolle über Referrer/CORS für Sicherheit und Privatsphäre: siehe
crossoriginundreferrerpolicy. - Verwenden Sie sowohl
widthals auchheight, um die intrinsische Größe des Bildes festzulegen und Platz vor dem Laden zu reservieren, um Layoutverschiebungen zu mindern. - Empfehlungen für responsive Bilder mit
sizesundsrcset(siehe auch das<picture>Element und unser Leitfaden für Responsive Images).
Unterstützte Bildformate
Der HTML-Standard gibt nicht vor, welche Bildformate unterstützt werden sollen, sodass User Agents unterschiedliche Formate unterstützen können.
Hinweis: Der Guide zu Bilddateitypen und -formaten bietet umfassende Informationen über Bildformate und deren Unterstützung durch Webbrowser. Dieser Abschnitt ist nur eine Zusammenfassung!
Die auf dem Web am häufigsten verwendeten Bilddateiformate sind:
- APNG (Animated Portable Network Graphics) — Gute Wahl für verlustfreie Animationssequenzen (GIF ist weniger leistungsfähig)
- AVIF (AV1 Image File Format) — Gute Wahl sowohl für Bilder als auch für animierte Bilder aufgrund der hohen Leistung.
- GIF (Graphics Interchange Format) — Gute Wahl für einfache Bilder und Animationen.
- JPEG (Joint Photographic Expert Group image) — Gute Wahl für verlustbehaftete Komprimierung von Standbildern (derzeit am beliebtesten).
- PNG (Portable Network Graphics) — Gute Wahl für verlustfreie Komprimierung von Standbildern (etwas bessere Qualität als JPEG).
- SVG (Scalable Vector Graphics) — Vektorbildformat. Verwenden Sie es für Bilder, die genau in verschiedenen Größen dargestellt werden müssen.
- WebP (Web Picture format) — Hervorragende Wahl sowohl für Bilder als auch für animierte Bilder
Formate wie WebP und AVIF werden empfohlen, da sie viel besser abschneiden als PNG, JPEG, GIF für sowohl Stand- als auch animierte Bilder.
SVG bleibt das empfohlene Format für Bilder, die in verschiedenen Größen genau dargestellt werden müssen.
Fehler beim Laden von Bildern
Wenn beim Laden oder Rendern eines Bildes ein Fehler auftritt und ein onerror Ereignishandler für das error Ereignis eingerichtet wurde, wird dieser Ereignishandler aufgerufen. Dies kann in mehreren Situationen passieren, darunter:
- Die
srcodersrcsetAttribute sind leer ("") odernull. - Die
srcURL ist die gleiche wie die URL der Seite, auf der sich der User gerade befindet. - Das Bild ist in irgendeiner Weise beschädigt, sodass es nicht geladen werden kann.
- Die Metadaten des Bildes sind so beschädigt, dass die Dimensionen nicht abgerufen werden können und keine Dimensionen in den Attributen des
<img>Elements angegeben wurden. - Das Bild ist in einem Format, das vom User Agent nicht unterstützt wird.
Attribute
Dieses Element beinhaltet die globalen Attribute.
alt-
Definiert den Text, der das Bild auf der Seite ersetzen kann.
Hinweis: Browser zeigen nicht immer Bilder an. Es gibt einige Situationen, in denen ein Browser möglicherweise keine Bilder anzeigt, wie zum Beispiel:
- Nicht-visuelle Browser (wie die von Menschen mit Sehbehinderungen verwendet)
- Der Nutzer entscheidet sich dafür, keine Bilder anzuzeigen (um Bandbreite zu sparen, aus Datenschutzgründen)
- Das Bild ist ungültig oder ein nicht unterstützter Typ
In diesen Fällen kann der Browser das Bild durch den Text im
altAttribut des Elements ersetzen. Aus diesen und anderen Gründen sollten Sie wenn möglich einen sinnvollen Wert füraltangeben.Die Einstellung dieses Attributs auf einen leeren String (
alt="") zeigt an, dass dieses Bild keinen wesentlichen Teil des Inhalts darstellt (es handelt sich um Dekoration oder ein Tracking Pixel) und dass nicht-visuelle Browser es bei der Darstellung weglassen können. Visuelle Browser werden auch das kaputte Bildsymbol ausblenden, wenn dasaltAttribut leer ist und das Bild nicht angezeigt werden konnte.Dieses Attribut wird auch beim Kopieren und Einfügen des Bildes in Text oder beim Speichern eines verknüpften Bildes als Lesezeichen verwendet.
attributionsrcVeraltet-
Gibt an, dass Sie möchten, dass der Browser einen
Attribution-Reporting-EligibleHeader zusammen mit der Bildanfrage sendet.Auf der Serverseite wird dies verwendet, um das Senden eines
Attribution-Reporting-Register-SourceoderAttribution-Reporting-Register-TriggerHeaders in der Antwort auszulösen, um eine bildbasierte Attributionsquelle oder einen Attributionstrigger zu registrieren. Welcher Antwortheader zurückgesendet werden soll, hängt vom Wert desAttribution-Reporting-EligibleHeaders ab, der die Registrierung ausgelöst hat.Das entsprechende Quellen- oder Triggerevent wird gestartet, sobald der Browser die Antwort mit der Bilddatei erhält.
Hinweis: Siehe die Attributionsbericht-API für weitere Details.
Es gibt zwei Versionen dieses Attributs, die Sie festlegen können:
- Boolesch, d.h. nur der
attributionsrc-Name. Dies gibt an, dass Sie möchten, dass der HeaderAttribution-Reporting-Eligiblean denselben Server gesendet wird, auf den dassrcAttribut verweist. Dies ist in Ordnung, wenn Sie die Registrierung von Quellen oder Triggern auf demselben Server handhaben. Bei der Registrierung eines Attributionstriggers ist diese Eigenschaft optional, und ein Boolescher Wert wird verwendet, wenn sie weggelassen wird. - Wert, der eine oder mehrere URLs enthält, zum Beispiel:
html<img src="image-file.png" alt="My image file description" attributionsrc="https://a.example/register-source https://b.example/register-source" />Dies ist nützlich in Fällen, in denen die angeforderte Ressource sich nicht auf einem Server befindet, den Sie kontrollieren, oder Sie die Attributionsquelle auf einem anderen Server registrieren möchten. In diesem Fall können Sie eine oder mehrere URLs als Wert von
attributionsrcangeben. Wenn die Ressourcenanforderung erfolgt, wird derAttribution-Reporting-EligibleHeader an die inattributionSrcangegebenen URL(s) zusätzlich zum Ursprung der Ressource gesendet. Diese URLs können dann mit einemAttribution-Reporting-Register-SourceoderAttribution-Reporting-Register-TriggerHeader antworten, um die Registrierung abzuschließen.Hinweis: Die Angabe mehrerer URLs bedeutet, dass mehrere Attributionsquellen auf derselben Funktion registriert werden können. Sie könnten zum Beispiel verschiedene Kampagnen haben, deren Erfolg Sie zu messen versuchen, wofür unterschiedliche Berichte über unterschiedliche Daten erstellt werden.
- Boolesch, d.h. nur der
crossorigin-
Gibt an, ob das Abrufen des Bildes über eine CORS Anfrage erfolgen muss. Bilddaten von einem CORS-fähigen Bild, das durch eine CORS-Anfrage zurückgegeben wird, können im
<canvas>Element wiederverwendet werden, ohne als "tainted" markiert zu werden.Wenn das
crossoriginAttribut nicht spezifiziert ist, wird eine Nicht-CORS-Anfrage gesendet (ohne denOriginHeader) und der Browser markiert das Bild als tainted und schränkt den Zugriff auf dessen Bilddaten ein, wodurch dessen Verwendung in<canvas>Elementen verhindert wird.Wenn das
crossoriginAttribut spezifiziert ist, wird eine CORS-Anfrage gesendet (mit demOriginHeader); jedoch, wenn der Server nicht in den Zugriff über Ursprungsbeschränkungen auf die Bilddaten einwilligt (durch das Nicht-Senden irgendeinesAccess-Control-Allow-OriginHeaders oder indem es den Ursprungsort der Seite imAccess-Control-Allow-OriginAntwortheader, den es sendet, nicht einschließt), blockiert der Browser das Laden des Bildes und protokolliert einen CORS-Fehler in der Entwicklerkonsole.Erlaubte Werte:
anonymous-
Eine CORS-Anfrage wird gesendet, bei der Anmeldeinformationen ausgelassen werden (d.h. keine Cookies, X.509-Zertifikate oder
AuthorizationHeader). use-credentials-
Die CORS-Anfrage wird mit enthaltenen Anmeldeinformationen gesendet (d.h. Cookies, X.509-Zertifikate und der
AuthorizationHeader). Wenn der Server nicht zustimmt, Anmeldeinformationen mit der Ursprungsseite zu teilen (durch das Zurücksenden des HeadersAccess-Control-Allow-Credentials: true), markiert der Browser das Bild als tainted und schränkt den Zugriff auf dessen Bilddaten ein.
Wenn das Attribut einen ungültigen Wert hat, behandeln Browser ihn so, als wäre der Wert
anonymousverwendet worden. Siehe CORS-Einstellungen Attribute für zusätzliche Informationen. decoding-
Dieses Attribut bietet dem Browser einen Hinweis darauf, ob das Bilddekodieren zusammen mit dem Rendern des anderen DOM-Inhalts in einem einzigen Präsentationsschritt erfolgen sollte, der „korrekter“ aussieht (
sync), oder ob der andere DOM-Inhalt zuerst gerendert und präsentiert werden sollte und das Bild später dekodiert und präsentiert werden sollte (async). In der Praxis bedeutetasync, dass der nächste Anstrich nicht darauf wartet, dass das Bild dekodiert wird.Es ist oft schwierig, einen merklichen Effekt beim Verwenden von
decodingbei statischen<img>Elementen wahrzunehmen. Sie werden wahrscheinlich zunächst als leere Bilder gerendert, während die Bilddateien abgerufen werden (entweder aus dem Netzwerk oder aus dem Cache) und dann unabhängig behandelt werden, sodass das „Synchronisieren“ von Inhaltsupdates weniger offensichtlich ist. Allerdings kann das Blockieren des Renderns während der Dekodierung zwar oft recht klein sein, gemessen werden – selbst wenn es mit bloßem Auge schwer zu beobachten ist. Siehe Was macht das Bild-Dekodierungsattribut eigentlich? für eine detailliertere Analyse (tunetheweb.com, 2023).Die Verwendung unterschiedlicher
decodingTypen kann zu sichtbareren Unterschieden führen, wenn<img>Elemente dynamisch über JavaScript in das DOM eingefügt werden – sieheHTMLImageElement.decodingfür weitere Details.Erlaubte Werte:
sync-
Dekodieren Sie das Bild synchron zusammen mit dem Rendern des anderen DOM-Inhalts und präsentieren Sie alles gemeinsam.
async-
Dekodieren Sie das Bild asynchron, nach dem Rendern und Präsentieren des anderen DOM-Inhalts.
auto-
Keine Präferenz für den Dekodierungsmodus; der Browser entscheidet, was für den Benutzer am besten ist. Dies ist der voreingestellte Wert.
elementtiming-
Kennzeichnet das Bild zur Beobachtung durch die
PerformanceElementTimingAPI. Der angegebene Wert wird zu einem Identifikator für das beobachtete Bildelement. Siehe auch die Seite zumelementtimingAttribut. fetchpriority-
Gibt einen Hinweis auf die relative Priorität, die beim Abrufen des Bildes verwendet werden soll. Erlaubte Werte:
high-
Rufen Sie das Bild mit hoher Priorität relativ zu anderen Bildern ab.
low-
Rufen Sie das Bild mit niedriger Priorität relativ zu anderen Bildern ab.
auto-
Legen Sie keine Präferenz für die Abrufpriorität fest. Dies ist der Standardwert. Er wird verwendet, wenn kein Wert oder ein ungültiger Wert gesetzt ist.
height-
Die intrinsische Höhe des Bildes in Pixel. Muss eine ganze Zahl ohne Einheit sein.
Hinweis: Die Einbeziehung von
heightundwidthermöglicht es, dass das Seitenverhältnis des Bildes vom Browser berechnet werden kann, bevor das Bild geladen wird. Dieses Seitenverhältnis wird verwendet, um den Platzbedarf für die Anzeige des Bildes zu reservieren, wodurch eine Layoutverschiebung reduziert oder sogar verhindert wird, wenn das Bild heruntergeladen und auf den Bildschirm gemalt wird. Das Reduzieren der Layoutverschiebung ist ein wesentlicher Bestandteil einer guten Benutzererfahrung und Web-Performance. ismap-
Dieses boolesche Attribut gibt an, dass das Bild Teil einer serverseitigen Karte ist. In diesem Fall werden die Koordinaten, an denen der Benutzer auf das Bild geklickt hat, an den Server gesendet.
loading-
Gibt an, wie der Browser das Bild laden soll:
eager-
Lädt das Bild sofort, unabhängig davon, ob sich das Bild derzeit innerhalb des sichtbaren Ansichtsfensters befindet oder nicht (dies ist der Standardwert).
lazy-
Verzögert das Laden des Bildes, bis es eine berechnete Entfernung vom Ansichtsfenster erreicht, wie vom Browser definiert. Dies soll Netzwerke und Speicherbandbreite einsparen, die benötigt werden, um das Bild zu handhaben, bis relativ sicher ist, dass es benötigt wird. Dies verbessert in den meisten typischen Anwendungsfällen die Leistungsfähigkeit des Inhalts erheblich.
Während explizite
widthundheightAttribute für alle Bilder empfohlen werden, um Layoutverschiebungen zu vermeiden, sind sie besonders wichtig für lazy-geladene Bilder. Lazy-geladene Bilder werden nie geladen, wenn sie nicht einen sichtbaren Teil eines Elements überschneiden, selbst wenn das Laden sie ändern würde, da nicht geladene Bilder einewidthundheightvon0haben. Es entsteht eine noch störendere Benutzererfahrung, wenn der im Ansichtsfenster sichtbare Inhalt mitten beim Lesen neu fließt.Das
loadEreignis wird ausgelöst, nachdem eager-geladene Bilder abgerufen und verarbeitet wurden, jedoch bevor Lazy-geladene Bilder abgerufen und verarbeitet wurden, selbst wenn sich die Lazy-geladenen Bilder direkt beim initialen Seitenladen im visuellen Ansichtsfenster befinden. Diese Bilder werden dennoch geladen, sobald das Layout abgeschlossen ist; sie beeinflussen einfach nicht das Timing desloadEreignisses. Das bedeutet, dass bei Auslösung desloadEreignisses möglicherweise noch keine Lazy-geladenen Bilder im visuellen Ansichtsfenster sichtbar sind.Das Laden wird nur bei aktiviertem JavaScript verzögert. Dies ist eine Anti-Tracking-Maßnahme, denn wäre Lazy Loading auch bei deaktiviertem Scripting unterstützt, wäre es dennoch möglich, dass eine Seite die ungefähre Scrollposition eines Benutzers während einer Sitzung nachverfolgt, indem strategisch Bilder in das Markup der Seite platziert werden, sodass ein Server ermitteln kann, wie viele Bilder angefordert und wann angefordert werden.
referrerpolicy-
Ein String, der anzeigt, welcher Referrer beim Abrufen der Ressource verwendet werden soll:
no-referrer: DerRefererHeader wird nicht gesendet.no-referrer-when-downgrade: DerRefererHeader wird nicht an Origins ohne TLS (HTTPS) gesendet.origin: Der gesendete Referrer wird auf den Ursprung der verweisenden Seite beschränkt: sein Schema, Host und Port.origin-when-cross-origin: Der an andere Origins gesendete Referrer wird auf das Schema, den Host und den Port beschränkt. Navigationen auf demselben Origin enthalten weiterhin den Pfad.same-origin: Ein Referrer wird für den gleichen Origin gesendet, aber Anfragen über den Origin hinaus enthalten keine Referrer-Informationen.strict-origin: Senden Sie den Ursprung des Dokuments nur als Referrer, wenn das Protokollsicherheitsniveau gleich bleibt (HTTPS→HTTPS), jedoch nicht an ein weniger sicheres Ziel (HTTPS→HTTP).strict-origin-when-cross-origin(Standard): Senden Sie eine vollständige URL beim Ausführen einer Anfrage zum gleichen Origin, senden Sie nur den Ursprung, wenn das Protokollsicherheitsniveau gleich bleibt (HTTPS→HTTPS), und senden Sie keinen Header an ein weniger sicheres Ziel (HTTPS→HTTP).unsafe-url: Der Referrer wird den Ursprung und den Pfad enthalten (jedoch nicht das Fragment, Passwort oder Benutzernamen). Dieser Wert ist unsicher, da er Ursprünge und Pfade von TLS-geschützten Ressourcen an unsichere Ursprünge leckt.
sizes-
Ein oder mehrere durch Kommas getrennte Werte, die Quellgrößen oder das Schlüsselwort
autosein können. Die Spezifikation erfordert, dass dassizesAttribut nur vorhanden ist, wennsrcsetBreitenbeschreibungen verwendet.Quellgröße besteht aus:
- Einer Media-Bedingung, die für den letzten Eintrag in der Liste weggelassen wird.
- Einem Quellgrößenwert.
Medienbedingungen beschreiben Eigenschaften des Ansichtsfensters, nicht des Bildes. Beispielsweise,
(height <= 500px) 1000pxschlägt vor, eine Bildquelle von 1000px Breite zu verwenden, wenn die Höhe des Ansichtsfensters 500px oder weniger beträgt. Da ein Quellgrößenbeschreiber die Breite angibt, die während des Layouts für das Bild verwendet werden soll, basiert die Medienbedingung typischerweise (aber nicht notwendigerweise) auf derwidth.Quellgrößenwerte spezifizieren die beabsichtigte Anzeigengröße des Bildes. User Agents verwenden die aktuelle Quellgröße, um eine der vom
srcsetAttribut bereitgestellten Quellen auszuwählen, wenn diese Quellen mit Breiten (w) Beschreibern beschrieben werden. Die gewählte Quellgröße beeinflusst die intrinsische Größe des Bildes (die Anzeigengröße des Bildes, wenn keine CSS Gestaltung angewendet wird).Ein Quellgrößenwert kann jede nicht-negative Länge sein. Es dürfen keine CSS Funktionen verwendet werden, außer den mathematischen Funktionen. Einheiten werden auf die gleiche Weise wie Media-Abfragen interpretiert, was bedeutet, dass alle relativen Längeneinheiten relativ zur Dokumentenwurzel und nicht zum
<img>Element sind. Beispielsweise ist einemWert relativ zur Wurzel-Schriftgröße, nicht zur Schriftgröße des Bildes. Prozentwerte sind nicht erlaubt. Wenn dassizesAttribut nicht bereitgestellt wird, hat es einen Standardwert von100vw(die Breite des Ansichtsfensters).Das
autoSchlüsselwort kann die gesamte Liste der Größen oder den ersten Eintrag in der Liste ersetzen. Es ist nur in Kombination mitloading="lazy"gültig und löst die konkrete Größe des Bildes auf. Da die intrinsische Größe des Bildes noch nicht bekannt ist, solltenwidthundheightAttribute (oder CSS-Äquivalente) ebenfalls angegeben werden, um zu verhindern, dass der Browser die Standardbreite des Bildes von 300px annimmt. Für eine bessere Rückwärtskompatibilität mit Browsern, dieautonicht unterstützen, können Sie nachautoin dassizesAttribut Fallback-Größen aufnehmen:html<img loading="lazy" width="200" height="200" sizes="auto, (max-width: 30em) 100vw, (max-width: 50em) 50vw, calc(33vw - 100px)" srcset=" swing-200.jpg 200w, swing-400.jpg 400w, swing-800.jpg 800w, swing-1600.jpg 1600w " src="swing-400.jpg" alt="Kettlebell Swing" /> src-
Die URL des Bildes. Mindestens eines der
srcundsrcsetist für ein<img>Element erforderlich. Wennsrcsetangegeben ist, wirdsrcauf eine der beiden Arten verwendet:- als Fallback für Browser, die
srcsetnicht unterstützen. - wenn
srcsetden „x“-Deskriptor verwendet, dann istsrcgleichbedeutend mit einer Quelle mit dem Dichtebeschreiber1x; das heißt, das durchsrcangegebene Bild wird auf Bildschirmen mit niedriger Dichte (wie typische 72 DPI oder 96 DPI Displays) verwendet.
- als Fallback für Browser, die
srcset-
Eine oder mehrere durch Kommas getrennte Zeichenfolgen, die mögliche Bildquellen für den User Agent angeben, die verwendet werden sollen.
Jede Zeichenfolge besteht aus:
- Einer URL zu einem Bild
- Optional, Leerzeichen gefolgt von einem der:
- Ein Breitenbeschreibung (eine positive ganze Zahl direkt gefolgt von
w). Sie muss mit der intrinsischen Breite des angegebenen Bildes übereinstimmen. Die Breitenbeschreibung wird durch die imsizesAttribut angegebene Quellgröße geteilt, um die effektive Pixeldichte zu berechnen. Um beispielsweise eine Bildressource bereitzustellen, die verwendet werden soll, wenn der Renderer ein 450 Pixel breites Bild benötigt, verwenden Sie den Breitenbeschreiber450w. Wenn einsrcset„w“-Deskriptoren enthält, verwendet der Browser diese Deskriptoren zusammen mit demsizesAttribut, um eine Ressource auszuwählen. - Einen Pixeldichtebeschreiber (eine positive Fließkommazahl direkt gefolgt von
x). Er gibt die Bedingung an, unter der die entsprechende Bildressource als Pixeldichte angezeigt werden soll. Um beispielsweise eine Bildressource bereitzustellen, die verwendet werden soll, wenn die Pixeldichte doppelt so hoch wie die Standarddichte ist, verwenden Sie den Pixeldichtebeschreibung2xoder2.0x.
- Ein Breitenbeschreibung (eine positive ganze Zahl direkt gefolgt von
Wenn kein Deskriptor angegeben ist, wird die Quelle mit dem Standardwert
1xzugewiesen. Es ist falsch, Breitenbeschreibung und Pixeldichtebeschreibungen im gleichensrcsetAttribut zu mischen. Doppelte Deskriptoren (zum Beispiel zwei Quellen im gleichensrcset, die beide mit2xbeschrieben werden) sind ebenfalls ungültig.Leerzeichen, außer des Leerzeichens, das die URL und die entsprechende Bedingungsbeschreibung trennt, werden ignoriert; dies schließt sowohl führende als auch abschließende Leerzeichen ein, sowie Leerzeichen vor oder nach jedem Komma. Wenn jedoch eine Bildkandidatzeichenfolge keine Beschreibungen und kein Leerzeichen nach der URL enthält, muss die folgende Bildkandidatzeichenfolge, falls vorhanden, mit einem oder mehreren Leerzeichen beginnen, andernfalls wird das Komma als Teil der URL betrachtet.
Wenn das
srcsetdes<img>Elements „x“-Deskriptoren verwendet, betrachten Browser auch die URL imsrcAttribut (falls vorhanden) als Kandidaten und weisen ihm den Standarddeskriptor1xzu. Wenn hingegen dassrcsetAttribut Breitenbeschreibungen verwendet, wirdsrcnicht berücksichtigt, und dassizesAttribut wird anstelle davon verwendet.Der User Agent wählt nach eigenem Ermessen eine der verfügbaren Quellen aus. Dies bietet ihnen erheblichen Spielraum, ihre Auswahl basierend auf Dingen wie Nutzerpräferenzen oder Bandbreitenbedingungen anzupassen. Siehe unser Leitfaden für Responsive Images für ein Beispiel.
width-
Die intrinsische Breite des Bildes in Pixel. Muss eine ganze Zahl ohne Einheit sein.
usemap-
Die partielle URL (beginnen mit
#) einer mit dem Element assoziierten Bildkarte.
Veraltete Attribute
alignVeraltet-
Richtet das Bild mit seinem umgebenden Kontext aus. Verwenden Sie die
floatund/odervertical-alignCSS Eigenschaften anstelle dieses Attributs. Erlaubte Werte: borderVeraltet-
Die Breite eines Rahmens um das Bild. Verwenden Sie die
borderCSS Eigenschaft anstelle davon. hspaceVeraltet-
Die Anzahl der Pixel Weißraum links und rechts des Bildes. Verwenden Sie die
marginCSS Eigenschaft anstelle dessen. longdescVeraltet-
Ein Link zu einer detaillierteren Beschreibung des Bildes. Mögliche Werte sind eine URL oder eine Element
id.Hinweis: Dieses Attribut wird in der HTML-Spezifikation als veraltet angesehen. Es hat eine ungewisse Zukunft; Autoren sollten eine WAI-ARIA Alternative wie
aria-describedbyoderaria-detailsverwenden. nameVeraltet-
Ein Name für das Element. Verwenden Sie stattdessen das
idAttribut. vspaceVeraltet-
Die Anzahl der Pixel Weißraum oberhalb und unterhalb des Bildes. Verwenden Sie stattdessen die
marginCSS Eigenschaft.
Styling mit CSS
<img> ist ein ersetztes Element; es hat einen display Wert von inline standardmäßig, aber seine Standarddimensionen werden durch die intrinsischen Werte des eingebetteten Bildes definiert, als wäre es inline-block. Sie können Eigenschaften wie border/border-radius, padding/margin, width, height usw. auf ein Bild setzen.
<img> hat keine Grundlinie, sodass wenn Bilder in einem Inline-Formatierungskontext mit vertical-align: baseline verwendet werden, das Ende des Bildes auf der Textgrundlinie platziert wird.
Sie können die Eigenschaft object-position verwenden, um das Bild innerhalb der Box des Elements zu positionieren, und die Eigenschaft object-fit, um das Zuschneiden des Bildes innerhalb der Box anzupassen (zum Beispiel, ob das Bild die Box füllen oder anpassen soll, auch wenn dafür abgeschnitten werden muss).
Ein Bild kann je nach Typ eine intrinsische Breite und Höhe haben. Für einige Bildtypen sind intrinsische Dimensionen jedoch unnötig. SVG Bilder zum Beispiel haben keine intrinsischen Dimensionen, wenn ihr Wurzel-<svg> Element keine width oder height gesetzt hat.
Barrierefreiheit
>Bedeutungsvoller alternativer Beschreibungen erstellen
Der Wert eines alt Attributs sollte einen klaren und knappen Text-Ersatz für den Inhalt des Bildes bieten. Es sollte nicht das Vorhandensein des Bildes selbst oder den Dateinamen des Bildes beschreiben. Wenn das alt Attribut absichtlich weggelassen wurde, weil das Bild kein textuelles Äquivalent hat, sollten Sie alternative Methoden in Betracht ziehen, um das, was das Bild zu kommunizieren versucht, darzustellen.
Nicht machen
<img alt="image" src="penguin.jpg" />
So machen
<img alt="A Penguin on a beach." src="penguin.jpg" />
Ein wichtiges Barrierefreiheitstest ist, den Inhalt des alt Attributs zusammen mit vorhergehendem Textinhalt zu lesen, um zu sehen, ob es den gleichen Sinn wie das Bild vermittelt. Wenn das Bild zum Beispiel dem Satz "Auf meinen Reisen habe ich ein niedliches kleines Tier gesehen:" vorausging, könnte das Nicht machen Beispiel von einem Screenreader als "Auf meinen Reisen habe ich ein niedliches kleines Tier gesehen: Bild" gelesen werden, was keinen Sinn ergibt. Das So machen Beispiel hingegen könnte von einem Screenreader als "Auf meinen Reisen habe ich ein niedliches kleines Tier gesehen: Ein Pinguin am Strand." gelesen werden, was Sinn ergibt.
Für Bilder, die eine Aktion auslösen sollen, zum Beispiel Bilder, die in einem <a> oder <button> Element verschachtelt sind, sollten Sie die ausgelöste Aktion im Wert des alt Attributs beschreiben. Zum Beispiel könnten Sie alt="nächste Seite" statt alt="Pfeil rechts" verwenden. Sie könnten auch in Erwägung ziehen, eine optionale weiterführende Beschreibung in einem title Attribut hinzuzufügen; dies kann von Screenreadern gelesen werden, wenn es vom Benutzer angefordert wird.
Wenn auf einem Bild kein alt Attribut vorhanden ist, können einige Screenreader den Dateinamen des Bildes stattdessen ansagen. Dies kann eine verwirrende Erfahrung sein, wenn der Dateiname nicht repräsentativ für den Inhalt des Bildes ist.
SVG als Bild identifizieren
Aufgrund eines VoiceOver Bugs kündigt VoiceOver SVG Bilder nicht korrekt als Bilder an. Fügen Sie role="img" zu allen <img> Elementen mit SVG Quell dateien hinzu, um sicherzustellen, dass unterstützende Technologien das SVG korrekt als Bildinhalt ansprechen.
<img src="mdn.svg" alt="MDN" role="img" />
Das title-Attribut
Das title Attribut ist kein akzeptabler Ersatz für das alt Attribut. Vermeiden Sie es außerdem, den Wert des alt Attributs in einem title Attribut zu duplizieren, das auf dasselbe Bild deklariert ist. Dies könnte dazu führen, dass einige Screenreader den gleichen Text zweimal ansagen, was eine verwirrende Erfahrung erzeugt.
Das title Attribut sollte auch nicht als zusätzliche Beschreibung verwendet werden, um die Beschreibung im alt Attribut eines Bildes zu ergänzen. Wenn ein Bild eine Beschriftung benötigt, verwenden Sie die figure und figcaption Elemente.
Der Wert des title Attributs wird dem Nutzer normalerweise als Tooltip präsentiert, der erscheint, nachdem der Cursor kurz nicht bewegt wurde, während er über dem Bild ist. Während dies dem Nutzer zusätzliche Informationen bieten kann, sollten Sie nicht davon ausgehen, dass der Nutzer es jemals sehen wird: Der Nutzer könnte nur über Tastatur oder Touchscreen verfügen. Wenn Sie Informationen haben, die besonders wichtig oder wertvoll für den Nutzer sind, präsentieren Sie sie inline, indem Sie eine der oben genannten Methoden verwenden, anstatt title zu verwenden.
Beispiele
>Alternativtext
Das folgende Beispiel bettet ein Bild in die Seite ein und enthält einen Alternativtext für die Barrierefreiheit.
<img src="/shared-assets/images/examples/favicon144.png" alt="MDN" />
Bildlink
Dieses Beispiel baut auf dem vorhergehenden auf und zeigt, wie das Bild in einen Link umgewandelt werden kann. Dazu müssen Sie das <img> Tag innerhalb des <a> verschachteln. Sie sollten den Alternativtext so gestalten, dass er die Ressource beschreibt, auf die der Link verweist, als ob Sie einen Textlink verwenden würden.
<a href="https://www.supremezsy.dpdns.org">
<img
src="/shared-assets/images/examples/favicon144.png"
alt="Visit the MDN site" />
</a>
Verwendung des srcset-Attributs
In diesem Beispiel fügen wir ein srcset Attribut mit einem Verweis auf eine hochauflösende Version des Logos hinzu; dies wird anstelle des src Bildes auf Geräten mit hoher Auflösung geladen. Das im src Attribut referenzierte Bild wird als 1x Kandidat in User Agents gezählt, die srcset unterstützen.
<img
src="/shared-assets/images/examples/favicon72.png"
alt="MDN"
srcset="/shared-assets/images/examples/favicon144.png 2x" />
Verwendung der srcset- und sizes-Attribute
Das src Attribut wird in User Agents, die srcset unterstützen, ignoriert, wenn w Beschreiber enthalten sind. Wenn die Medienbedingung (width <= 600px) zutrifft, wird das 200 Pixel breite Bild geladen (es ist das, das 200px am nächstgelegen passt), andernfalls wird das andere Bild geladen.
<img
src="clock-demo-200px.png"
alt="The time is 12:45."
srcset="clock-demo-200px.png 200w, clock-demo-400px.png 400w"
sizes="(width <= 600px) 200px, 50vw" />
Hinweis: Um das Neugrößen in Aktion zu sehen, sehen Sie sich das Beispiel auf einer separaten Seite an, damit Sie tatsächlich den Inhaltsbereich neugrößen können.
Sicherheits- und Datenschutzbedenken
Obwohl <img> Elemente harmlose Verwendungen haben, können sie unerwünschte Folgen für die Sicherheit und den Datenschutz der Nutzer haben. Siehe Referer-Header: Datenschutz- und Sicherheitsbedenken für weitere Informationen und Abhilfemaßnahmen.
Technische Zusammenfassung
| Inhaltskategorien |
Flussinhalt,
Phraseinhalte,
eingebetteter Inhalt,
fühlbarer Inhalt. Wenn das Element ein usemap Attribut hat, ist es auch ein Teil der Kategorie "interaktiver Inhalt".
|
|---|---|
| Erlaubter Inhalt | Keiner; es ist ein leeres Element. |
| Tag-Auslassung | Muss ein Anfangs-Tag haben und darf keinen End-Tag haben. |
| Erlaubte Eltern | Jedes Element, das eingebettete Inhalte akzeptiert. |
| Implizite ARIA-Rolle |
|
| Zulässige ARIA-Rollen |
|
| DOM-Schnittstelle | [`HTMLImageElement`](/de/docs/Web/API/HTMLImageElement) |
Spezifikationen
| Specification |
|---|
| HTML> # the-img-element> |
Browser-Kompatibilität
Siehe auch
<picture>,<object>, und<embed>Elementeobject-fit,object-position,image-orientation,image-rendering, undimage-resolution: Bildbezogene CSS-Eigenschaften.HTMLImageElementSchnittstelle für dieses Element- HTML Bilder
- Guide zu Bilddateitypen und -formaten
- Leitfaden für Responsive Images