Якщо ви хочете, щоб це був лише CSS, логіку відключення має визначати CSS.
Щоб перемістити логіку у визначеннях CSS, вам доведеться використовувати селектори атрибутів. Ось кілька прикладів:
Вимкнути посилання з точним href: =
Ви можете вимкнути посилання, які містять певне значення href, наприклад:
<a href="//website.com/exact/path">Exact path</a>
[href="https://stackoverflow.com//website.com/exact/path"]{
pointer-events: none;
}
Вимкнення посилання, що містить фрагмент шляху: *=
Тут будь-яке посилання, що містить /keyword/
шлях, буде відключено
<a href="//website.com/keyword/in/path">Contains in path</a>
[href*="/keyword/"]{
pointer-events: none;
}
Вимкнення посилання, що починається з: ^=
[attribute^=value]
цільової оператор атрибут , який починається зі значенням конкретного. Дозволяє скасувати веб-сайти та кореневі шляхи.
<a href="//website.com/begins/with/path">Begins with path</a>
[href^="//website.com/begins/with"]{
pointer-events: none;
}
Ви навіть можете використовувати його для відключення не-https посилань. Наприклад :
a:not([href^="https://"]){
pointer-events: none;
}
Вимкнення посилання, що закінчується на: $=
[attribute$=value]
Оператор цільового атрибута , який закінчується значенням питомої. Відмовитися від розширень файлів може бути корисно.
<a href="/path/to/file.pdf">Link to pdf</a>
[href$=".pdf"]{
pointer-events: none;
}
Або будь-який інший атрибут
Css може орієнтуватися на будь-який атрибут HTML. Може бути rel
, target
, data-custom
і так далі ...
<a href="#" target="_blank">Blank link</a>
[target=_blank]{
pointer-events: none;
}
Поєднання селекторів атрибутів
Ви можете пов’язати кілька правил. Скажімо, ви хочете відключити будь-яке зовнішнє посилання, але не ті, які вказують на ваш веб-сайт:
a[href*="//"]:not([href*="my-website.com"]) {
pointer-events: none;
}
Або відключити посилання на PDF-файли певного веб-сайту:
<a href="//website.com/path/to/file.jpg">Link to image</a>
[href^="//website.com"][href$=".jpg"] {
color: red;
}
Підтримка браузера
Селектори атрибутів підтримуються з IE7. :not()
селектор з IE9.