Se si desidera che sia solo CSS, la logica di disabilitazione deve essere definita da CSS.
Per spostare la logica nelle definizioni CSS, dovrai usare i selettori di attributo. Ecco alcuni esempi :
Disabilita il link che ha un href esatto: =
Puoi scegliere di disabilitare i collegamenti che contengono un valore href specifico in questo modo:
<a href="//website.com/exact/path">Exact path</a>
[href="https://stackoverflow.com//website.com/exact/path"]{
pointer-events: none;
}
Disabilita un collegamento che contiene un tratto di percorso: *=
Qui, qualsiasi collegamento contenente /keyword/
nel percorso verrà disabilitato
<a href="//website.com/keyword/in/path">Contains in path</a>
[href*="/keyword/"]{
pointer-events: none;
}
Disabilita un collegamento che inizia con: ^=
l' [attribute^=value]
operatore indirizza un attributo che inizia con un valore specifico. Ti consente di scartare siti Web e percorsi di root.
<a href="//website.com/begins/with/path">Begins with path</a>
[href^="//website.com/begins/with"]{
pointer-events: none;
}
Puoi persino usarlo per disabilitare i collegamenti non https. Per esempio :
a:not([href^="https://"]){
pointer-events: none;
}
Disabilita un collegamento che termina con: $=
L' [attribute$=value]
operatore indirizza un attributo che termina con un valore specifico. Può essere utile scartare le estensioni di file.
<a href="/path/to/file.pdf">Link to pdf</a>
[href$=".pdf"]{
pointer-events: none;
}
O qualsiasi altro attributo
Css può targetizzare qualsiasi attributo HTML. Potrebbe essere rel
, target
, data-custom
e così via ...
<a href="#" target="_blank">Blank link</a>
[target=_blank]{
pointer-events: none;
}
Combinazione di selettori di attributi
Puoi concatenare più regole. Supponiamo che tu voglia disabilitare tutti i link esterni, ma non quelli che rimandano al tuo sito web:
a[href*="//"]:not([href*="my-website.com"]) {
pointer-events: none;
}
O disabilitare i collegamenti ai file pdf di un sito Web specifico:
<a href="//website.com/path/to/file.jpg">Link to image</a>
[href^="//website.com"][href$=".jpg"] {
color: red;
}
Supporto per il browser
I selettori di attributi sono supportati da IE7. :not()
selettore da IE9.