Menu

HTML Link: So erstellst du Links mit dem a-Tag und href

So erzeugt das <a>-Element Links: das href-Attribut, absolute und relative URLs, Sprünge zu einem Abschnitt der Seite mit #id, Download-Links, Karten als Link und die Fehler, die Links kaputt machen.

Diese Seite enthält ausführbare Editoren - bearbeiten, ausführen und Ausgabe sofort sehen.

Ein Link ist ein Anker-Element, <a>, mit einem href-Attribut. href gibt an, wohin der Link führt; der Inhalt zwischen den Tags ist das, worauf der Leser klickt.

Browser zeigen Links blau und unterstrichen an und machen aus dem Mauszeiger eine Hand. Die letzte Zeile zeigt, warum href wichtig ist: Ohne ist <a> normaler Text. Es ist nicht fokussierbar, nicht anklickbar und nicht als Link gestylt.

Absolute und relative URLs

Der Wert von href entscheidet, wohin der Link führt. Die wichtigsten Formen:

hrefFührt zu
https://example.com/pageEine absolute URL: genau diese Adresse
/aboutabout im Wurzelverzeichnis der aktuellen Website
about.htmlabout.html im selben Ordner wie die aktuelle Seite
../index.htmlindex.html einen Ordner höher
#pricingDas Element mit id="pricing" auf dieser Seite
/help#faqDer Abschnitt faq einer anderen Seite dieser Website
mailto:hi@example.comEine neue E-Mail im Mailprogramm des Lesers
tel:+15551234567Ein Anruf, auf Geräten, die telefonieren können

Nimm absolute URLs für andere Websites und Pfade ab dem Wurzelverzeichnis (/about) innerhalb deiner eigenen: Sie funktionieren weiter, wenn die Seite, die sie enthält, in einen anderen Ordner wandert.

<a href="https://www.wikipedia.org/">Wikipedia</a>  <!-- another site -->
<a href="/pricing">Pricing</a>                     <!-- same site, from the root -->
<a href="www.wikipedia.org">Broken</a>              <!-- relative path, not a site! -->

Die letzte Zeile ist der häufigste Fehler bei Links. Ohne https:// liest der Browser www.wikipedia.org als Dateinamen im aktuellen Ordner.

E-Mail- und Telefonlinks haben eine eigene Seite: HTML mailto-Link.

Auf einen Abschnitt der Seite verlinken

Jedes Element mit einer id ist ein Ziel. Verlinke mit # und der id darauf, und der Browser scrollt dorthin. Klick die Links in der Vorschau an:

Ein paar Details:

  • Die id muss exakt übereinstimmen, auch in der Groß- und Kleinschreibung. href="#FAQ" findet id="faq" nicht.
  • href="#top" und href="#" scrollen an den Anfang der Seite, auch wenn kein Element die id top hat.
  • Der Selektor :target stylt den Abschnitt, auf den die URL gerade zeigt. Auf einer echten Seite wird er hier hervorgehoben; die Vorschau scrollt, ohne ihre Adresse zu ändern, deshalb siehst du die Hervorhebung dort nicht.
  • Um auf einen Abschnitt einer anderen Seite zu verlinken, häng die Raute an die URL dieser Seite: <a href="/docs/html/table#caption">.

Ein sticky oder fixierter Header verdeckt den Anfang des Abschnitts, zu dem du springst. scroll-margin-top an den Zielen lässt dafür Platz, und scroll-behavior: smooth animiert den Sprung:

Lösch die Zeile mit scroll-margin-top und klick noch einmal auf Two: Die Überschrift verschwindet hinter dem dunklen Header.

Das Attribut download bittet den Browser, die Datei zu speichern statt sie zu öffnen. Sein Wert, falls du einen angibst, ist der vorgeschlagene Dateiname:

<a href="/files/report-2026.pdf" download>Download the report</a>
<a href="/files/r-8f2a.pdf" download="report.pdf">Download (saved as report.pdf)</a>

download funktioniert nur für Dateien vom selben Origin wie die Seite (gleiches Schema, gleicher Host, gleicher Port) sowie für URLs mit data: und blob:. Bei einer Datei von einem anderen Origin, selbst einer Subdomain, ignorieren Browser es und öffnen die Datei wie bei einem normalen Link. Der Server kann den Download jeder Datei mit dem Header Content-Disposition: attachment erzwingen.

Linktext, der Sinn ergibt

Screenreader-Nutzer bewegen sich oft von Link zu Link durch eine Seite und hören dabei nur den Linktext. „Hier klicken“ und „Mehr lesen“ sagen ihnen nichts.

<!-- Vague: -->
To see our prices, <a href="/pricing">click here</a>.

<!-- Clear: -->
See the <a href="/pricing">pricing plans</a>.

Das Attribut title zeigt beim Überfahren mit der Maus einen Tooltip, erscheint aber weder auf Touchscreens noch für die meisten Tastaturnutzer. Schreib also nichts Wichtiges hinein.

Ein <a> kann Block-Inhalt umschließen: Eine Überschrift, ein Bild und ein Absatz können zusammen ein Link sein. So baut man anklickbare Karten.

display: block macht den ganzen Kasten anklickbar, nicht nur den Text. Halte den Inhalt der Karte kurz, weil ein Screenreader alles davon als Namen des Links vorliest. Und setz niemals einen weiteren Link oder einen Button hinein: Interaktive Elemente dürfen nicht in <a> verschachtelt werden.

Weitere Attribute des a-Tags

AttributWas es macht
hrefDas Ziel. Ohne ist <a> kein Link
targetWo er geöffnet wird; target="_blank" öffnet einen neuen Tab, siehe Link in neuem Tab öffnen
relDie Beziehung zum Ziel: noopener, nofollow, sponsored, ugc
downloadDatei speichern statt öffnen
hreflangDie Sprache der verlinkten Seite, als Hinweis
referrerpolicyWie viel von der aktuellen URL als Referrer mitgeschickt wird

Häufige Fehler

  • Kein Schema bei einer externen URL. href="www.site.com" ist ein relativer Pfad. Schreib https://.
  • <a href="#"> für eine JavaScript-Aktion. Das scrollt nach oben und hängt # an die URL. Wenn ein Klick nirgendwohin führt, nimm einen <button>.
  • Ein Link in einem Link oder ein Button in einem Link. Beides ist ungültiges HTML: Ein zweites <a> bringt den Parser dazu, das erste vorzeitig zu schließen, und ein Klick auf einen Button in einem Link hat kein eindeutiges Ziel.
  • Leerzeichen in Dateinamen. href="my file.html" funktioniert meist, weil der Browser das Leerzeichen kodiert, aber my-file.html erspart dir die Frage ganz.
  • „Hier klicken“ als Linktext. Beschreib stattdessen das Ziel.
  • Unterschiedliche Groß- und Kleinschreibung der id. #Pricing und id="pricing" sind verschieden.

Häufig gestellte Fragen

Wie erstelle ich einen Link in HTML?

Mit dem Anker-Element: <a href="https://example.com">Example</a>. href ist das Ziel, und der Text zwischen den Tags ist das, worauf der Leser klickt.

Wofür steht href?

Hypertext Reference. Es enthält die URL, auf die der Link zeigt: eine vollständige Adresse, einen Pfad auf derselben Website wie /about, einen Abschnitt der Seite wie #pricing oder ein Schema wie mailto:.

Wie verlinke ich auf eine bestimmte Stelle einer Seite?

Gib dem Zielelement eine id und verlinke mit einer Raute darauf: <h2 id="faq">FAQ</h2> und <a href="#faq">FAQ</a>. Von einer anderen Seite aus hängst du die Raute an die URL: <a href="/help#faq">.

Warum führt mein Link auf die falsche Seite, wenn ich www schreibe?

Ohne https:// behandelt der Browser www.example.com als relativen Pfad auf deiner eigenen Website, der Link führt also zu etwas wie yoursite.com/www.example.com. Schreib bei externen Links immer das Schema: href="https://www.example.com".

Darf ein a-Tag ein div enthalten?

Ja. In HTML5 kann ein <a> Block-Inhalt wie ein <div>, eine Überschrift und einen Absatz umschließen, so baut man Karten, die komplett ein Link sind. Es darf aber keinen weiteren Link, keinen Button und kein anderes interaktives Element enthalten.

Coddy programming languages illustration

Lerne mit Coddy zu programmieren

LOS GEHT'S