:visited
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.
Die :visited CSS Pseudoklasse wird angewendet, nachdem der Link vom Benutzer besucht wurde. Aus Datenschutzgründen sind die Stile, die mit diesem Selektor verändert werden können, sehr eingeschränkt. Die :visited Pseudoklasse gilt nur für <a> und <area> Elemente, die ein href-Attribut haben.
Probieren Sie es aus
p {
font-weight: bold;
}
a:visited {
color: forestgreen;
text-decoration-color: hotpink;
}
<p>Pages that you might have visited:</p>
<ul>
<li>
<a href="https://developer.mozilla.org">MDN Web Docs</a>
</li>
<li>
<a href="https://www.youtube.com/">YouTube</a>
</li>
</ul>
<p>Pages unlikely to be in your history:</p>
<ul>
<li>
<a href="https://developer.mozilla.org/missing-1">Random MDN page</a>
</li>
<li>
<a href="https://example.com/missing-1">Random Example page</a>
</li>
</ul>
Stile, die durch die :visited und unbesuchten :link Pseudoklassen definiert sind, können durch jede nachfolgende Benutzeraktions-Pseudoklasse (:hover oder :active), die mindestens gleiche Spezifität haben, überschrieben werden. Um Links angemessen zu stylen, platzieren Sie die :visited Regel nach der :link Regel, aber vor den :hover und :active Regeln, wie es durch die LVHA-Reihenfolge definiert ist: :link — :visited — :hover — :active. Die :visited Pseudoklasse und die :link Pseudoklasse schließen sich gegenseitig aus.
Datenschutzbeschränkungen
Aus Datenschutzgründen schränken Browser die Stil-Anwendung durch diese Pseudoklasse strikt ein und wie sie verwendet werden können:
- Zulässige CSS-Eigenschaften sind
color,background-color,border-color,border-bottom-color,border-left-color,border-right-color,border-top-color,column-rule-color,outline-color,text-decoration-color, undtext-emphasis-color. - Zulässige SVG-Attribute sind
fillundstroke. - Der Alphakanal der zulässigen Stile wird ignoriert. Der Alphakanal des nicht-
:visited-Zustands des Elements wird stattdessen verwendet. In Firefox wird bei einem Alphakanal von0der im:visitedgesetzte Stil vollständig ignoriert. - Obwohl diese Stile das Erscheinungsbild der Farben für den Endbenutzer verändern können, wird die
window.getComputedStyleMethode nicht wahrheitsgemäß sein und immer den Wert der nicht-:visited-Farbe zurückgeben. - Das
<link>Element wird niemals von:visitederfasst. - DOM-Methoden, die Elemente über CSS-Selektoren auswählen — wie
querySelector()undquerySelectorAll()— werden immer ein "leeres" Ergebnis zurückgeben, auch wenn es besuchte Links in einem Dokument gibt. Für die genannten Methoden wird diesnulloder eine leereNodeListsein.
Hinweis: Für weitere Informationen zu diesen Einschränkungen und den dahinterliegenden Gründen, siehe Datenschutz und der :visited Selektor.
Syntax
:visited {
/* ... */
}
Beispiele
Eigenschaften, die ansonsten keine Farbe haben oder transparent sind, können mit :visited nicht verändert werden. Von den Eigenschaften, die mit dieser Pseudoklasse gesetzt werden können, hat Ihr Browser wahrscheinlich nur für color und column-rule-color einen Standardwert. Wenn Sie also die anderen Eigenschaften ändern möchten, müssen Sie ihnen außerhalb des :visited Selektors einen Basiswert geben.
HTML
<a href="#test-visited-link">Have you visited this link yet?</a><br />
<a href="">You've already visited this link.</a>
CSS
a {
/* Specify non-transparent defaults to certain properties,
allowing them to be styled with the :visited state */
background-color: white;
border: 1px solid white;
}
a:visited {
background-color: yellow;
border-color: hotpink;
color: hotpink;
}
Ergebnis
Spezifikationen
| Specification |
|---|
| HTML> # selector-visited> |
| Selectors Level 4> # visited-pseudo> |
Browser-Kompatibilität
Loading…
Siehe auch
- Datenschutz und der :visited Selektor
- Link-bezogene Pseudoklassen:
:link,:active,:hover