Wenn Sie möchten, dass es sich nur um CSS handelt, sollte die Deaktivierungslogik durch CSS definiert werden.
Um die Logik in den CSS-Definitionen zu verschieben, müssen Sie Attributselektoren verwenden. Hier sind einige Beispiele :
Deaktivieren Sie einen Link mit einer genauen href: =
Sie können Links deaktivieren, die einen bestimmten href-Wert enthalten, wie folgt:
<a href="//website.com/exact/path">Exact path</a>
[href="https://stackoverflow.com//website.com/exact/path"]{
pointer-events: none;
}
Deaktivieren Sie einen Link, der einen Pfad enthält: *=
Hier wird jeder Link /keyword/
im Pfad deaktiviert
<a href="//website.com/keyword/in/path">Contains in path</a>
[href*="/keyword/"]{
pointer-events: none;
}
Deaktivieren Sie einen Link, der beginnt mit: ^=
Der [attribute^=value]
Operator zielt auf ein Attribut ab, das mit einem bestimmten Wert beginnt. Ermöglicht das Verwerfen von Websites und Stammpfaden.
<a href="//website.com/begins/with/path">Begins with path</a>
[href^="//website.com/begins/with"]{
pointer-events: none;
}
Sie können es sogar verwenden, um Nicht-https-Links zu deaktivieren. Beispielsweise :
a:not([href^="https://"]){
pointer-events: none;
}
Deaktivieren Sie einen Link, der endet mit: $=
Der [attribute$=value]
Operator zielt auf ein Attribut ab, das mit einem bestimmten Wert endet. Es kann nützlich sein, Dateierweiterungen zu verwerfen.
<a href="/path/to/file.pdf">Link to pdf</a>
[href$=".pdf"]{
pointer-events: none;
}
Oder irgendein anderes Attribut
CSS kann auf jedes HTML-Attribut abzielen. Könnte sein rel
, target
, data-custom
und so weiter ...
<a href="#" target="_blank">Blank link</a>
[target=_blank]{
pointer-events: none;
}
Attributselektoren kombinieren
Sie können mehrere Regeln verketten. Angenommen, Sie möchten jeden externen Link deaktivieren, nicht jedoch diejenigen, die auf Ihre Website verweisen:
a[href*="//"]:not([href*="my-website.com"]) {
pointer-events: none;
}
Oder deaktivieren Sie Links zu PDF-Dateien einer bestimmten Website:
<a href="//website.com/path/to/file.jpg">Link to image</a>
[href^="//website.com"][href$=".jpg"] {
color: red;
}
Browser-Unterstützung
Attributselektoren werden seit IE7 unterstützt. :not()
Selektor seit IE9.