Как добавить рисунок к внешним ссылкам?

Внешними называются ссылки, которые ведут на другой сайт. Чтобы пользователь мог отличить такие ссылки от обычных, к внешним ссылкам добавляют небольшой рисунок (например, такой ), который информирует о том, что ссылка указывает на другой ресурс.

Адрес сайта начинается с протокола http:// или https://, а также можно писать адрес без указания протокола //. Как видите, адреса сайтов содержат две косые черты, которые можно указать в селекторе следующим образом.

a[href*=//] { … }

Эта запись читается следующим образом — применить стиль к элементам <a>, у которых атрибут href содержит //.

Теперь для этого селектора добавим рисунок в виде фона с помощью свойства background. При этом следует указать значение no-repeat, чтобы фон не повторялся (пример 1).

Пример 1. Добавление рисунка к ссылкам

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title>Внешние ссылки</title>
  <style>
   a[href*="//"] {
    background: url(/example/image/blank.png) no-repeat 0 50%; /* Параметры картинки */
    padding-left: 13px; /* Расстояние слева */
   }
  </style>
 </head>
 <body>
  <p><a href="page/lorem.html">Обычная ссылка</a></p>
  <p><a href="http://htmlbook.ru">Внешняя ссылка</a></p>
 </body>
</html>

Сам рисунок можно располагать слева или справа от текста. В данном примере показано расположение слева (рис. 1), поэтому в качестве значения background вводится 0 50%, что означает положение от левого верхнего угла. Чтобы текст не накладывался на рисунок, применяется свойство padding-left, добавляющее расстояние слева от ссылки. Значение этого свойства складывается из ширины картинки и расстояния от картинки до текста.

Вид ссылки с рисунком слева от текста

Рис. 1. Вид ссылки с рисунком слева от текста

Для задания положения картинки справа от текста, следует заменить у свойства background значение 0 на 100% и вместо padding-left использовать padding-right (пример 2).

Пример 2. Рисунок справа от ссылки

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title>Внешние ссылки</title>
  <style>
   a[href*="//"] {
    background: url(/example/image/blank.png) no-repeat 100% 50%;
    padding-right: 13px;
   }
  </style>
 </head>
 <body>
  <p><a href="page/lorem.html">Обычная ссылка</a></p>
  <p><a href="http://htmlbook.ru">Внешняя ссылка</a></p>
 </body>
</html>

Результат данного примера показан на рис. 2.

Вид ссылки с рисунком справа от текста

Рис. 2. Вид ссылки с рисунком справа от текста

Автор и редакторы

Автор: Влад Мержевич
Последнее изменение: 18.09.2018
Редакторы: Влад Мержевич