Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
<link>: Das External Resource Link 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<link>HTML Element spezifiziert Beziehungen zwischen dem aktuellen Dokument und einer externen Ressource.Dieses Element wird am häufigsten verwendet, um aufStylesheets zu verlinken, wird aber auch zur Einrichtung von Webseite-Icons (sowohl "favicon"-ähnlichen Icons als auch Icons für den Startbildschirm und Apps auf mobilen Geräten) verwendet, unter anderem.
In diesem Artikel
Probieren Sie es aus
<link href="/shared-assets/misc/link-element-example.css" rel="stylesheet" /><p>This text will be red as defined in the external stylesheet.</p><p> The <code>style</code> attribute can override it, though.</p>Um ein externes Stylesheet zu verlinken, fügen Sie ein<link> Element in Ihr<head> ein, wie folgt:
<link href="main.css" rel="stylesheet" />Dieses Beispiel weist den Pfad zum Stylesheet imhref Attribut und einemrel Attribut mit dem Wertstylesheet zu.rel steht für "relationship" (Beziehung) und ist eines der Kernelemente des<link> Elements — der Wert gibt an, wie das verlinkte Element zum enthaltenen Dokument in Beziehung steht.
Es gibt eine Vielzahl anderer üblicher Typen, denen Sie begegnen werden. Beispielsweise ein Link zum Favicon der Website:
<link rel="icon" href="favicon.ico" />Es gibt eine Reihe anderer Icon-rel-Werte, die hauptsächlich verwendet werden, um spezielle Icon-Typen für verschiedene mobile Plattformen zu kennzeichnen, z.B.:
<link rel="apple-touch-icon" sizes="114x114" href="apple-icon-114.png" type="image/png" />Dassizes Attribut gibt die Icon-Größe an, währendtype den MIME-Typ der verlinkten Ressource enthält.Diese bieten nützliche Hinweise, um dem Browser die Auswahl des am besten geeigneten Icons zu erleichtern.
Sie können auch einen Medientyp oder eine Abfrage innerhalb einesmedia Attributs bereitstellen; diese Ressource wird dann nur geladen, wenn die Medienbedingung zutrifft. Zum Beispiel:
<link href="print.css" rel="stylesheet" media="print" /><link href="mobile.css" rel="stylesheet" media="screen and (width <= 600px)" />Einige interessante neue Leistungs- und Sicherheitsfunktionen wurden ebenfalls zum<link> Element hinzugefügt. Nehmen Sie dieses Beispiel:
<link rel="preload" href="myFont.woff2" as="font" type="font/woff2" crossorigin="anonymous" />Einrel-Wert vonpreload zeigt an, dass der Browser diese Ressource vorab laden soll (sieherel="preload" für mehr Details), wobei dasas Attribut die spezifische Klasse der geladenen Inhalte angibt.Dascrossorigin Attribut zeigt an, ob die Ressource mit einerCORS-Anfrage abgerufen werden soll.
Weitere Nutzungshinweise:
- Ein
<link>Element kann entweder im<head>oder<body>Element vorkommen, abhängig davon, ob es einenLink-Typ hat, derbody-ok ist.Zum Beispiel ist derstylesheetLink-Typ body-ok, und daher ist<link rel="stylesheet">im Body erlaubt.Es ist jedoch keine gute Praxis, dem zu folgen; es macht mehr Sinn, Ihre<link>Elemente von Ihrem Body-Inhalt zu trennen, indem Sie sie in den<head>stellen. - Wenn Sie
<link>verwenden, um ein Favicon für eine Website einzurichten, und Ihre Website eine Content Security Policy (CSP) verwendet, um die Sicherheit zu erhöhen, gilt die Richtlinie für das Favicon.Wenn es Probleme gibt, dass das Favicon nicht lädt, überprüfen Sie, dass dieContent-Security-PolicyÜberschrift'simg-srcAnweisung den Zugriff nicht verhindert. - Die HTML und XHTML Spezifikationen definieren Event-Handler für das
<link>Element, aber es ist unklar, wie sie verwendet werden würden. - Unter XHTML 1.0 erfordernvoid elements wie
<link>einen Schrägstrich am Ende:<link />. - WebTV unterstützt die Verwendung des Wertes
nextfürrel, um die nächste Seite in einer Dokumentenreihe vorab zu laden.
Attribute
Dieses Element schließt dieglobalen Attribute ein.
asDieses Attribut ist erforderlich, wenn
rel="preload"auf dem<link>Element gesetzt wurde, optional wennrel="modulepreload"gesetzt ist, und sonst sollte es nicht verwendet werden.Es spezifiziert den Typ der von<link>geladenen Inhalte, was notwendig ist für Abgleich der Anforderung, Anwendung der richtigenContent Security Policy und Festlegung des korrektenAcceptAnfrage-Headers.Darüber hinaus verwendet
rel="preload"dies als Signal zur Priorisierung der Anfrage.Die folgende Tabelle listet die gültigen Werte für dieses Attribut und die Elemente oder Ressourcen, auf die sie angewendet werden können.Wert Gilt für audio <audio>Elementedocument <iframe>und<frame>Elementeembed <embed>Elementefetch fetch, XHR
Hinweis: Dieser Wert erfordert auch, dass
<link>das `crossorigin` Attribut enthält, sieheCORS-activierte Abrufe.font CSS @font-face
Hinweis: Dieser Wert erfordert auch, dass
<link>das `crossorigin` Attribut enthält, sieheCORS-activierte Abrufe.image <img>und<picture>Elemente mit `srcset` oder `imageset` Attributen, SVG<image>Elemente, CSS*-imageRegelnobject <object>Elementescript <script>Elemente, WorkerimportScriptsstyle <link rel=stylesheet>Element, CSS@importtrack <track>Elementevideo <video>Elementeworker Worker, SharedWorker blockingDieses Attribut gibt explizit an, dass bestimmte Operationen blockiert werden sollen, bis spezifische Bedingungen erfüllt sind. Es darf nur verwendet werden, wenn das
relAttribut die Schlüsselwörterexpectoderstylesheetenthält. Beirel="expect"zeigt es an, dass Operationen blockiert werden sollen, bis ein bestimmter DOM-Knoten geparst wurde. Beirel="stylesheet"zeigt es an, dass Operationen blockiert werden sollen, bis ein externes Stylesheet und seine kritischen Subressourcen abgerufen und auf das Dokument angewendet wurden. Die Operationen, die blockiert werden sollen, müssen eine durch Leerzeichen getrennte Liste von Blockierungs-Tokens aus der unten angegebenen Liste sein. Derzeit gibt es nur ein Token:render: Die Darstellung des Inhalts auf dem Bildschirm wird blockiert.
Hinweis:Nur
linkElemente im<head>des Dokuments können möglicherweise die Darstellung blockieren. Standardmäßig blockiert einlinkElement mitrel="stylesheet"im<head>die Darstellung, wenn der Browser es beim Parsen entdeckt. Wenn ein solcheslinkElement dynamisch über ein Skript hinzugefügt wird, müssen Sie zusätzlichblocking = "render"setzen, damit es die Darstellung blockiert.crossoriginDiesesAufzählungs- Attribut gibt an, obCORS beim Abrufen der Ressource verwendet werden muss.CORS-aktivierte Bilder können im
<canvas>Element wiederverwendet werden, ohne dass sieverunreinigt werden.Die erlaubten Werte sind:anonymousEine Cross-Origin-Anfrage (d.h. mit einem
OriginHTTP-Header) wird durchgeführt, aber keine Anmeldeinformationen werden gesendet (d.h. kein Cookie, kein X.509-Zertifikat und keine HTTP-Basisauthentifizierung).Wenn der Server keine Anmeldeinformationen zur Ursprungsseite gewährt (indem er denAccess-Control-Allow-OriginHTTP-Header nicht setzt), wird die Ressource verunreinigt und ihre Nutzung eingeschränkt sein.use-credentialsEine Cross-Origin-Anfrage (d.h. mit einem
OriginHTTP-Header) wird zusammen mit einer Anmeldeinformation (d.h. ein Cookie, Zertifikat und/oder HTTP-Basisauthentifizierung wird durchgeführt) durchgeführt.Wenn der Server keine Anmeldeinformationen zur Ursprungsseite übermittelt (durch denAccess-Control-Allow-CredentialsHTTP-Header), wird die Ressourceverunreinigt und ihre Nutzung eingeschränkt.
Wenn das Attribut nicht vorhanden ist, wird die Ressource ohne eineCORS Anfrage abgerufen (d.h. ohne den
OriginHTTP-Header zu senden), wodurch ihre nicht-verunreinigte Nutzung verhindert wird. Falls ungültig, wird es behandelt, als ob das aufgelistete Schlüsselwortanonymous verwendet wurde.Sehen Sie sichCORS-Einstellungsattribute für zusätzliche Informationen an.disabledNur für
rel="stylesheet"gibt dasdisabledBoolean-Attribut an, ob das beschriebene Stylesheet geladen und auf das Dokument angewendet werden soll.Wenndisabledin dem HTML zur Ladezeit angegeben ist, wird das Stylesheet während des Seitenladens nicht geladen.Stattdessen wird das Stylesheet bei Bedarf geladen, wenn und wann dasdisabledAttribut auffalsegeändert oder entfernt wird.Das Setzen der
disabledEigenschaft im DOM bewirkt, dass das Stylesheet aus derDocument.styleSheetsListe des Dokuments entfernt wird.fetchpriorityStellt einen Hinweis auf die relative Priorität zur Verfügung, die beim Abrufen einer Ressource eines bestimmten Typs verwendet werden soll. Erlaubte Werte:
highHolen Sie die Ressource mit hoher Priorität im Verhältnis zu anderen Ressourcen desselben Typs ein.
lowHolen Sie die Ressource mit niedriger Priorität im Verhältnis zu anderen Ressourcen desselben Typs ein.
autoEs wird keine Präferenz für die Abrufpriorität festgelegt.Dies ist der Standard.Es wird verwendet, wenn kein Wert oder ein ungültiger Wert gesetzt ist.
hrefDieses Attribut spezifiziert dieURL der verlinkten Ressource. Eine URL kann absolut oder relativ sein.
hreflangDieses Attribut gibt die Sprache der verlinkten Ressource an.Es ist rein beratend.Werte sollten gültigeBCP 47 Sprach-Tags sein.Verwenden Sie dieses Attribut nur, wenn das
hrefAttribut vorhanden ist.imagesizesNur für
rel="preload"undas="image"hat dasimagesizesAttribut eine ähnliche Syntax und Semantik wie dassizesAttribut, das das vorzuladende geeignete Ressourcen festlegt, das von einemimgElement mit entsprechenden Werten für seinesrcsetundsizesAttribute verwendet wird.imagesrcsetNur für
rel="preload"undas="image"hat dasimagesrcsetAttribut eine ähnliche Syntax und Semantik wie dassrcsetAttribut, das das vorzuladende geeignete Ressourcen festlegt, das von einemimgElement mit entsprechenden Werten für seinesrcsetundsizesAttribute verwendet wird.integrityBeinhaltet Inline-Metadaten — eine base64-kodierte kryptografische Prüfsumme der Ressource, die der Browser abrufen soll.Der Browser kann dies verwenden, um zu überprüfen, dass die abgerufene Ressource ohne unerwartete Manipulationen geliefert wurde.Das Attribut muss nur dann angegeben werden, wenn das
relAttribut aufstylesheet,preload, odermodulepreloadfestgelegt ist.SieheSubresource Integrity.mediaDieses Attribut gibt die Medien an, auf die die verlinkte Ressource angewendet wird. Sein Wert muss ein Medientyp /media query sein.Dieses Attribut ist hauptsächlich nützlich, wenn auf externe Stylesheets verlinkt wird — es ermöglicht es dem Benutzeragenten, das am besten angepasste für das Gerät auszuwählen, auf dem es ausgeführt wird.
referrerpolicyEin String, der angibt, welchen Referrer beim Abrufen der Ressource verwendet werden soll:
no-referrerbedeutet, dass derRefererHeader nicht gesendet wird.no-referrer-when-downgradebedeutet, dass keinRefererHeader gesendet wird, wenn zu einem Ursprung ohne TLS (HTTPS) navigiert wird.Dies ist das Standardverhalten eines Benutzeragenten, wenn keine andere Richtlinie angegeben ist.originbedeutet, dass der Referrer der Ursprung der Seite sein wird, was ungefähr das Schema, den Host und den Port betrifft.origin-when-cross-originbedeutet, dass das Navigieren zu anderen Ursprüngen auf das Schema, den Host und den Port beschränkt wird, während beim Navigieren am selben Ursprung der Pfad des Referrers enthalten ist.unsafe-urlbedeutet, dass der Referrer den Ursprung und den Pfad (aber nicht das Fragment, Passwort oder den Benutzernamen) umfassen wird.Dieser Fall ist unsicher, da er Ursprünge und Pfade von TLS-geschützten Ressourcen zu unsicheren Ursprüngen leaken kann.
relDieses Attribut benennt eine Beziehung des verlinkten Dokuments zum aktuellen Dokument. Das Attribut muss eine durch Leerzeichen getrennte Liste vonlink type values sein.
sizesDieses Attribut definiert die Größen der Icons für visuelle Medien, die in der Ressource enthalten sind.Es muss nur dann vorhanden sein, wenn das
relAttribut einen Wert voniconoder einen nicht standardmäßigen Typ wie Applesapple-touch-iconenthält.Es kann die folgenden Werte haben:any, bedeutet, dass das Icon auf jede Größe skaliert werden kann, da es sich im Vektorformat befindet, wieimage/svg+xml.- Eine durch Leerzeichen getrennte Liste von Größen, jede im Format
<Breite in Pixel>x<Höhe in Pixel>oder<Breite in Pixel>X<Höhe in Pixel>. Jede dieser Größen muss in der Ressource enthalten sein.
Hinweis:Die meisten Icon-Formate können nur ein einzelnes Icon speichern; daher enthält das
sizesAttribut die meiste Zeit nur einen Eintrag.Microsofts ICO Format und Apples ICNS Format können mehrere Icon-Größen in einer einzigen Datei speichern. ICO hat bessere Browser-Unterstützung, daher sollten Sie dieses Format verwenden, wenn plattformübergreifende Unterstützung wichtig ist.titleDas
titleAttribut hat spezielle Semantik auf dem<link>Element.Wenn es auf einem<link rel="stylesheet">verwendet wird, definiert es einStandard- oder alternatives Stylesheet.typeDieses Attribut wird verwendet, um den Typ des verlinkten Inhalts zu definieren.Der Wert des Attributs sollte ein MIME-Typ wietext/html,text/css usw. sein.Der übliche Gebrauch dieses Attributes ist es, den Typ des referenzierten Stylesheets zu definieren (zum Beispieltext/css), aber da CSS die einzige Stylesheet-Sprache im Web ist, ist es nicht nur möglich, das
typeAttribut wegzulassen, es wird sogar empfohlen.Es wird auch beirel="preload"Link-Typen verwendet, um sicherzustellen, dass der Browser nur Dateitypen herunterlädt, die er unterstützt.
Nicht-standardisierte Attribute
Veraltete Attribute
charsetVeraltetDieses Attribut definiert die Zeichencodierung der verknüpften Ressource.Der Wert ist eine durch Leerzeichen und / oder Kommas getrennte Liste von Zeichensätzen, wie inRFC 2045 definiert.Der Standardwert ist
iso-8859-1.Hinweis:Um denselben Effekt wie dieses veraltete Attribut zu erzielen, verwenden Sie den
Content-TypeHTTP-Header auf der verknüpften Ressource.revVeraltetDer Wert dieses Attributs zeigt die Beziehung des aktuellen Dokuments zum verlinkten Dokument, wie durch das
hrefAttribut definiert, an.Das Attribut definiert somit die umgekehrte Beziehung im Vergleich zum Wert desrelAttributs.Linktyp-Werte für das Attribut sind ähnlich wie die möglichen Werte fürrel.Hinweis:Statt
revsollten Sie dasrelAttribut mit dem umgekehrtenlinktyp-Wert verwenden.Zum Beispiel, um den umgekehrten Link fürmadefestzustellen, geben Sieauthoran. Dieses Attribut steht nicht für "revision" (Version) und darf nicht mit einer Versionsnummer verwendet werden, auch wenn viele Seiten es auf diese Weise missbrauchen.
Beispiele
>Einbinden eines Stylesheets
Um ein Stylesheet in einer Seite einzubinden, verwenden Sie die folgende Syntax:
<link href="style.css" rel="stylesheet" />Bereitstellung alternativer Stylesheets
Sie können auchalternative Stylesheets angeben.
Der Benutzer kann auswählen, welches Stylesheet verwendet werden soll, indem er es aus demAnsicht > Seitendesign Menü auswählt.Dies bietet eine Möglichkeit, mehrere Versionen einer Seite für Benutzer zugänglich zu machen.
<link href="default.css" rel="stylesheet" title="Default Style" /><link href="fancy.css" rel="alternate stylesheet" title="Fancy" /><link href="basic.css" rel="alternate stylesheet" title="Basic" />Bereitstellung von Icons für unterschiedliche Nutzungskontexte
Sie können Verknüpfungen zu mehreren Icons auf derselben Seite einfügen, und der Browser wird basierend auf dem Kontext auswählen, welches am besten funktioniert, indem er dierel undsizes Werte als Hinweis verwendet.
<!-- iPad Pro with high-resolution Retina display: --><link rel="apple-touch-icon" sizes="167x167" href="/apple-touch-icon-167x167.png" /><!-- 3x resolution iPhone: --><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon-180x180.png" /><!-- non-Retina iPad, iPad mini, etc.: --><link rel="apple-touch-icon" sizes="152x152" href="/apple-touch-icon-152x152.png" /><!-- 2x resolution iPhone and other devices: --><link rel="apple-touch-icon" href="/apple-touch-icon-120x120.png" /><!-- basic favicon --><link rel="icon" href="/favicon.ico" />Für Informationen, welchesizes für Apple-Icons zu wählen sind, sieheApples Dokumentation zur Konfiguration von Webanwendungen und den verlinktenApple Human Interface Guidelines. Normalerweise genügt es, ein großes Bild wie 192x192 bereitzustellen und den Browser es nach Bedarf verkleinern zu lassen, aber möglicherweise möchten Sie Bilder mit unterschiedlichen Detailstufen für verschiedene Größen bereitstellen, wie die Apple-Designrichtlinie empfiehlt. Kleinere Icons für niedrigere Auflösungen zu bereitzustellen, spart auch Bandbreite.
Es kann nicht notwendig sein,<link> Elemente überhaupt bereitzustellen. Zum Beispiel fordern Browser automatisch/favicon.ico vom Hauptverzeichnis einer Seite an, und Apple fordert auch automatisch/apple-touch-icon-[size].png,/apple-touch-icon.png usw. an. Durch explizite Links schützen Sie sich jedoch vor Änderungen dieser Konventionen.
Bedingtes Laden von Ressourcen mit Medienabfragen
Sie können eine Medientyp- oder Abfrage innerhalb einesmedia Attributs bereitstellen;diese Ressource wird dann nur geladen, wenn die Medienbedingung wahr ist. Beispielsweise:
<link href="print.css" rel="stylesheet" media="print" /><link href="mobile.css" rel="stylesheet" media="all" /><link href="desktop.css" rel="stylesheet" media="screen and (width >= 600px)" /><link href="highres.css" rel="stylesheet" media="screen and (resolution >= 300dpi)" />Stylesheet Ladeereignisse
Sie können ermitteln, wann ein Stylesheet geladen wurde, indem Sie auf einload Ereignis warten, das darauf ausgelöst wird; ähnlich können Sie erkennen, ob ein Fehler bei der Verarbeitung eines Stylesheets aufgetreten ist, indem Sie auf einerror Ereignis warten:
<link rel="stylesheet" href="mystylesheet.css" />const stylesheet = document.getElementById("my-stylesheet");stylesheet.onload = () => { // Do something interesting; the sheet has been loaded};stylesheet.onerror = () => { console.log("An error occurred loading the stylesheet!");};Hinweis:Dasload Ereignis wird ausgelöst, sobald das Stylesheet und alle importierten Inhalte geladen und geparst wurden und direkt bevor die Stile auf den Inhalt angewendet werden.
Preload-Beispiele
Sie finden eine Reihe von<link rel="preload"> Beispielen inInhalte vorladen mitrel="preload".
Blockieren der Darstellung bis eine Ressource abgerufen ist
Sie können einrender Token innerhalb einesblocking Attributs aufnehmen;die Darstellung der Seite wird blockiert, bis die Ressource und ihre kritischen Subressourcen abgerufen und auf das Dokument angewendet wurden. Zum Beispiel:
<link blocking="render" rel="stylesheet" href="example.css" crossorigin />Technische Zusammenfassung
| Inhaltskategorien | Metadateneinhalte. Wennitemprop vorhanden ist:Flussinhalte undPhrasinhalte. |
|---|---|
| Erlaubter Inhalt | Keiner; es ist einvoid element. |
| Tag-Auslassung | Er muss einen Start-Tag haben und darf keinen End-Tag haben. |
| Erlaubte Eltern | Jedes Element, das Metadaten-Elemente akzeptiert. Wennitemprop vorhanden ist: jedes Element, dasPhrasinhalte akzeptiert. |
| Implizite ARIA Rolle | link mithref Attribut |
| Erlaubte ARIA Rollen | Keinerole erlaubt |
| DOM-Schnittstelle | [`HTMLLinkElement`](/de/docs/Web/API/HTMLLinkElement) |
Spezifikationen
| Specification |
|---|
| HTML> # the-link-element> |
Browser-Kompatibilität
Siehe auch
LinkHTTP Header