Выделение внешних ссылок с помощью CSS

При написании статей мы так или иначе нет-нет да используем ссылки на внешние сайты, это могут быть на первоисточники, различные веб-приложения, каталоги и т.д. Большинство из нас никак не выделяет внешние ссылки, чаще ограничиваясь атрибутом target="_blank" в ссылке, определяющим открытие этой самой ссылки в новом окне, ну, или же стандартные подсказки через атрибут title.
Давайте рассмотрим простейший пример того, как с помощью нескольких строк , можно визуально выделить из общего массива, все ссылки на внешние сайты.
Стилизовать ссылки, как вы знаете, можно по разному, выделить цветом, подчёркиванием и т.д. Мы же рассмотрим вариант использования маленькой иконки, которая выглядит как окно со стрелкой, самый яркий пример можете лицезреть в Википедии.
И так, у нас есть внутренние ссылки и внешние. Если внутри сайта, в ссылках используется не абсолютный путь в адресе href="/", для того чтобы выделить все внешние ссылки, в которых по определению прописан абсолютный адрес href="http://example.com", достаточно в файл стилей .css добавить следующее:

 

a[href ^= "http"]:after,
a[href ^= "https"]:after {
    content: " " 
    url('external-link-icon.png');    
}

 

Если же вы используете абсолютный адрес в внутренних ссылках, то вам следует указать свой домен и все ссылки имеющие отличный от вашего, будут обозначены скромной иконкой, сообщающей пользователям, что данная ссылка ведёт на внешний сайт, и будет открыта в номом окне, или вкладке.

 

a[href^="http://"]:not([href*="example.com"]):after,
a[href^="https://"]:not([href*="example.com"]):after{
    content: " "
    url('external-link-icon.png');
}

 

Посмотреть живой пример и поковыряться в коде можете здесь:

 

PS: Как вы понимаете, стилизовать внешние ссылки вы можете как угодно, иконки могут быть разными, все зависит только от вашей неуёмной фантазии.

Оригинал

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.