HTML-элемент <a> определяет гиперссылку для перехода на определённое место на странице или на другую страницу в Интернете. Также он может быть использован (в устаревшем варианте) для создания якоря — это место назначения для гиперссылок внутри страницы: так ссылки не ограничены только в перемещении между страницами.

<a href="https://developer.mozilla.org">MDN</a>
Категории контента  Основной поток, текстовый контент, интерактивный контент, скрытый контент.
Разрешённый контент Логический контент, содержащий либо основной поток (исключая интерактивный контент), либо заголовочный контент.
Опускание тегов Открывающий и закрывающий теги обязательны.
Разрешённые родительские элеметны Любые элементы, в которых разрешён текстовый контент или элементы, в которых разрешёны элементы основного потока.
DOM-интерфейс HTMLAnchorElement

Атрибуты

Этот элемент включает в себя общие атрибуты.

download HTML5
Этот атрибут сообщает о том, что эта ссылка должна быть использована для скачивания файла, и, когда пользователь нажимает на ссылку, ему будет предложено сохранить файл как локальный. Если у этого атрибута есть значение, оно будет использовано как заполненное название файла в Окне сохранения, которое открывается, когда пользователь нажимает на ссылку (пользователь может поменять название перед сохранением файла). Ограничений на позволенные значения нет (хотя оно будет конвертировано в нижние подчёркивания, предотвращая специфичные пути), но стоит обратить внимание, что у большинства файловых систем есть ограничения на то, какие знаки препинания поддерживаются файловой системой, и браузеры регулируют названия согласно ограничениям.
 

Примечание:

  • Атрибут может быть использован вместе с blob: URLs и data: URLs, чтобы пользователи могли проще скачать контент, который сгенерирован с помощью  JavaScript (например, картинка, созданная с помощью онлайн-сайта для рисования).
  • Если представлен HTTP-заголовок Content-Disposition:, и он содержит иное название, у HTTP-заголовка есть преимущество над атрибутом.
  • Если этот атрибут установлен и Content-Disposition: установлен на inline, Firefox отдаёт преимущество Content-Disposition, но в тоже время Chrome отдаёт преимущество атрибуту download.
  • Этот атрибут соблюдается только на ресурсах с тем же  доменом.
href
Единственный обязательный атрибут для опредения ссылки в HTML4, но больше необязательный в HTML5. Упущение этого атрибута создаёт ссылку-заполнитель. Атрибут href указывает ссылку: либо URL, либо якорь. Якорь — это название после символа #, который указывает на элемент (ID) на текущей странице. URL не ограничены только ссылками на HTTP, они могут использовать любой протокол, поддерживающийся браузером. Например, file, ftp и mailto работают в большинстве браузеров.

Примечание: Вы можете использовать специальное значение «top», чтобы создать ссылки в начало страницы, например: <a href="#top">Вернуться наверх</a>Это поведение указано в Спецификациях HTML5.

hreflang
Этот атрибут сообщает язык документа по ссылке. Это чисто контрольная информация. Разрешённые значения определены в BCP47 для HTML5 и RFC1766 для HTML4. Используйте этот атрибут, только если задан href.
ping HTML5
Этот атрибут уведомляет указанные в нём URL, что пользователь перешёл по ссылке.
referrerpolicy
Этот атрибут сообщает, какую информацию передавать ресурсу по ссылке:
  • "no-referrer" не отправляет заголовок Referer.
  • "no-referrer-when-downgrade" не отправляет заголовок Referer ресурсу без TLS (HTTPS). Это стандартное поведение браузера, если не указана иная политика.
  • "origin" отправляет такую информацию о текущей странице, как адрес, протокол, хост и порт.
  • "origin-when-cross-origin" отправляет другим ресурсам только протокол, хост и порт, а внутри ресурса также отправляет путь. 
  • "unsafe-url" отправляет только ресурс и адрес (но не пароли или никнеймы). Это значение небезопасно, так как могут утечь ресурс и адрес с TLS-защищённых ресурсов на небезопасные.
rel
Для ссылок, которые содержат атрибут href, этот атрибут устанавливает отношения между ссылками. Значением является список значений, разделённый пробелами. Значения и их семантика будут зарегистрированы другими сайтами, которые могут иметь произвольное значение к документу автора. Значением по умолчанию является void, если не задано иное. Используйте этот тег, только если задан атрибут href.
target
Этот атрибут определяет, где показать содержимое по ссылке. В HTML4, это название и ключевое слово фрейма. В HTML5, это название или ключевое слово в браузере (например, вкладка, окно или iframe). У следующих ключевых слов специальные значения:
  • _self загружает документ в текущем фрейме в HTML4 (или текущей вкладке в HTML5) как текущий. Это значение по умолчанию, если не указано иное значение.
  • _blank загружает документ в новой окне в HTML4 или вкладке в HTML5.
  • _parent загружает документ в родительском фрейме в HTML4 или в родительской вкладке в HTML5. Если нет родителя, параметр будет вести себя как _self: Load the response into the HTML4 frameset parent of the current frame or HTML5 parent browsing context of the current one. If there is no parent, this option behaves the same way as _self.
  • _top в HTML4 загружает документ в новом окне, игнорируя другие фреймы. В HTML5 загружает в окне высшего уровня. Если родителя нет, опция ведёт себя как _self.
Используйте этот атрибут только если указан href.

Примечание: Используя target, вы должны добавлять rel="noopener noreferrer", чтобы избежать эксплуатацию API window.opener.

type
Этот атрибут определяет MIME-тип для документа по ссылке. Обычно это используется как контрольная информация, но в будущем браузеры могут добавлять маленькую иконку для медиафайлов. Например, браузер может добавить маленькую иконку мегафона, если тип файла установлен как audio/wav.
Используйте этот атрибут только если указан href.

Устаревшие 

charset Вышла из употребления с версии HTML5
Этот атрибут определяет кодировку документа по ссылке. Значением является разделённый пробелами или запятыми список кодировок. Значением по умолчанию является ISO-8859-1.

Предупреждение: Этот атрибут является устарелым в HTML5 и не должен использоваться. Чтобы достичь такого же эффекта, используйте HTTP-заголовок Content-Type на ссылающемся ресурсе.

coords HTML 4Вышла из употребления с версии HTML5
Для использования с формой объекта, этот атрибут использует разделённый запятыми список чисел для определения координат объекта на странице.
name HTML 4 Вышла из употребления с версии HTML5
Этот атрибут обязателен в определении якоря на странице. Значение имени схоже со значением id и должен быть уникальным идентификатором и состоять из букв и цифр. Согласно спецификации HTML 4.01, и id, и name могут быть использованы с элементом <a>, пока у них идентичные значения.
rev HTML 4 Вышла из употребления с версии HTML5
Этот атрибут определяет обратную ссылку, обратные отношения атрибута rel. Это полезно, чтобы отобразить, откуда пришёл объект как автор или документ.
shape HTML 4 Вышла из употребления с версии HTML5
Этот атрибут используется, чтобы определить выбранный регион для ссылок на источник гипертекста, которые соединены с фигурой для создания изображения-карты. Значения для атрибута — circle, default, polygon и rect. Формат координат зависит от выбранной формы. Для circle — x, y, r, где x и y — пиксельные координаты центра круга и r — радиус в пикселях. Для rect — x, y, w, h, где x и y — координаты верхнего левого угла прямоугольника, а w и h — ширина и высота соответственно. Значениями polygon для координатов формы являются x1, y1, x2, y2... Каждая пара x, y определяет точку в полигоне, с последующей точкой становится прямой линией, и последняя точка объединяется с первой. Значение default для форм требует, чтобы полностью закрытая территория, например, изображение, было использовано.

Примечание: Желательно использовать атрибут usemap для элемента <img> и связанного элемента <map>, чтобы определить горячие точки вместо атрибутов формы.

Нестандартные

datafld 
Этот атрибут определяет назание столбца из объекта исходных данных, который принимает связанные данные.

Предупреждение: Этот атрибут нестандартный и не должен использоваться. Для достижения такого же эффекта, используйте скрипты и такие механизмы, как XMLHttpRequest, чтобы динамично заполнять страницу.

Поддержка Gecko Presto WebKit Trident
Не реализована Не реализована Не реализована IE4, IE5, IE6, IE7 (Убрана в IE8)
Нормативный документ Microsoft's Data Binding: dataFld Property (MSDN)
datasrc 
Этот атрибут сообщает ID объекта исходных данных, который принимает связанные данные с этим элементом.

Предупреждение: Этот атрибут нестандартный и не должен использоваться. Для достижения такого же эффекта, используйте скрипты и такие механизмы, как XMLHttpRequest, чтобы динамично заполнять страницу.

Поддержка Gecko Presto WebKit Trident
Не реализована Не реализована Не реализована IE4, IE5, IE6, IE7 (Убрана в IE8)
Нормативный документ Microsoft's Data Binding: dataSrc Property (MSDN)
methods 
Значение этого атрибута предоставляет информацию о функциях, которые могут быть выполнены на объекте. Обычно значения даны HTTP-протоколом, когда он использован, но может (для похожих целей, как для атрибута title) быть полезным для включения контрольной информации в ссылке. Например, браузер может выбрать другой тип рендеринга для ссылки как функцию определённых методов; что-то, что может быть найдено, может иметь другую иконку, или внешняя ссылка может получить индикатор перехода с текущего сайта. Этот элемент не понимается или не поддерживается полностью даже браузером Internet Explorer 4, который определил этот атрибут. Значения methods (MSDN).
urn 
Этот атрибут, предложенный Micosoft, определяет отношения уникального названия ресурса (URN) с ссылкой. Хотя он основан на стандартах работы нескольких лет назад, значение URN всё еще не определено полностью, поэтому этот атрибут не имеет значения. Значения urn (MSDN).

Примеры

Ссылка на внешний сайт

<!-- Ссылка на внешний файл -->
<a href="http://www.mozilla.com/">Внешняя ссылка</a>

Результат:

Внешняя ссылка

Создание кликабельной картинки

<a href="https://developer.mozilla.org/ru/" target="_blank">
  <img src="https://mdn.mozillademos.org/files/6851/mdn_logo.png" alt="MDN logo">
</a>

Результат:

Создания ссылки для написания письма

<a href="mailto:nowhere@mozilla.org">Отправить сообщение в никуда</a>

Результат выглядит примерно так: Отправить сообщение в никуда.

Для дополнительных деталей использования mailto, таких как тема, текст или другое, смотрите Email-ссылки или RFC 6068.

Создание ссылки с номером телефона

С телефонами, способными выходить в Интернет и ноутбуками, которые привязаны к телефонам, ссылки с номером телефона становятся всё больше и больше полезными.

<a href="tel:+491570156">+49 157 0156</a>

Для дополнителных деталей о протоколе tel, смотрите RFC 2806 и RFC 2396.

Использование download для сохранения canvas как PNG

Если вы хотите позволить пользователю скачивать HTML canvas как картинку, вы можете создать ссылку с атрибутом download и данные canvas как data: URL:

var link = document.createElement("a");
link.innerHTML = 'download image';

link.addEventListener("click", function(ev) {
  link.href = canvas.toDataURL();
  link.download = "mypainting.png";
}, false);

document.body.appendChild(link);

Вы можете посмотреть на это в действии: jsfiddle.net/codepo8/V6ufG/2/.

Спецификации

Спецификация Статус Примечание
Referrer Policy
Определение 'referrer attribute' в этой спецификации.
Кандидат в рекомендации Добавлен атрибут referrerpolicy.
HTML Living Standard
Определение '<a>' в этой спецификации.
Живой стандарт  
HTML5
Определение '<a>' в этой спецификации.
Рекомендация  
HTML 4.01 Specification
Определение '<a>' в этой спецификации.
Рекомендация  

Совместимость с браузерами

Update compatibility data on GitHub
КомпьютерыМобильные
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome для AndroidEdge MobileFirefox для AndroidOpera для AndroidSafari on iOSSamsung Internet
aChrome Полная поддержка ДаEdge Полная поддержка ДаFirefox Полная поддержка Да
Замечания
Полная поддержка Да
Замечания
Замечания Starting with Firefox 41, <a> without href attribute is no longer classified as interactive content: clicking it inside <label> will activate labelled content (bug 1167816).
IE Полная поддержка ДаOpera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка ДаChrome Android Полная поддержка ДаEdge Mobile Полная поддержка ДаFirefox Android Полная поддержка Да
Замечания
Полная поддержка Да
Замечания
Замечания Starting with Firefox 41, <a> without href attribute is no longer classified as interactive content: clicking it inside <label> will activate labelled content (bug 1167816).
Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка Да
charset
Устаревшая
Chrome Полная поддержка ДаEdge Полная поддержка ДаFirefox Полная поддержка ДаIE Полная поддержка ДаOpera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка ДаChrome Android Полная поддержка ДаEdge Mobile Полная поддержка ДаFirefox Android Полная поддержка ДаOpera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка Да
coords
Устаревшая
Chrome Нет поддержки НетEdge Нет поддержки НетFirefox Нет поддержки ? — 58
Замечания
Нет поддержки ? — 58
Замечания
Замечания You can no longer nest an <a> element inside a <map> element to create a hotspot region - coords and shape attribute support removed.
IE Нет поддержки НетOpera Нет поддержки НетSafari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Нет поддержки НетEdge Mobile Нет поддержки НетFirefox Android Нет поддержки ? — 58
Замечания
Нет поддержки ? — 58
Замечания
Замечания You can no longer nest an <a> element inside a <map> element to create a hotspot region - coords and shape attribute support removed.
Opera Android Нет поддержки НетSafari iOS Нет поддержки НетSamsung Internet Android Нет поддержки Нет
downloadChrome Полная поддержка 14
Замечания
Полная поддержка 14
Замечания
Замечания Starting in Chrome 65, cross-origin downloads are not supported on the <a> element.
Edge Полная поддержка 18
Полная поддержка 18
Частичная поддержка 13
Замечания
Замечания Until Edge 14 (build 14357), attempting to download data URIs caused Edge to crash (bug 7160092).
Замечания Edge 17 or older didn't follow the attributes' value to determine filename (bug 7260192).
Firefox Полная поддержка 20IE Нет поддержки НетOpera Полная поддержка 15Safari Полная поддержка 10.1WebView Android Полная поддержка Да
Замечания
Полная поддержка Да
Замечания
Замечания Starting in WebView 65, cross-origin downloads are not supported on the <a> element.
Chrome Android Полная поддержка 18
Замечания
Полная поддержка 18
Замечания
Замечания Starting in Chrome 65, cross-origin downloads are not supported on the <a> element.
Edge Mobile Полная поддержка ДаFirefox Android Полная поддержка 20Opera Android ? Safari iOS Нет поддержки НетSamsung Internet Android Полная поддержка Да
Замечания
Полная поддержка Да
Замечания
Замечания Starting in Samsung Internet 9.0, cross-origin downloads are not supported on the <a> element.
hrefChrome Полная поддержка ДаEdge Полная поддержка ДаFirefox Полная поддержка ДаIE Полная поддержка ДаOpera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка ДаChrome Android Полная поддержка ДаEdge Mobile Полная поддержка ДаFirefox Android Полная поддержка ДаOpera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка Да
hreflangChrome Полная поддержка ДаEdge Полная поддержка ДаFirefox Полная поддержка ДаIE Полная поддержка ДаOpera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка ДаChrome Android Полная поддержка ДаEdge Mobile Полная поддержка ДаFirefox Android Полная поддержка ДаOpera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка Да
name
Устаревшая
Chrome Полная поддержка ДаEdge Полная поддержка ДаFirefox Полная поддержка ДаIE Полная поддержка ДаOpera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка ДаChrome Android Полная поддержка ДаEdge Mobile Полная поддержка ДаFirefox Android Полная поддержка ДаOpera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка Да
ping
Экспериментальная
Chrome Полная поддержка ДаEdge Нет поддержки НетFirefox Полная поддержка Да
Отключено
Полная поддержка Да
Отключено
Отключено This feature is behind the browser.send_pings preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE Нет поддержки НетOpera Полная поддержка ДаSafari Нет поддержки НетWebView Android Полная поддержка ДаChrome Android Полная поддержка ДаEdge Mobile Нет поддержки НетFirefox Android Полная поддержка Да
Отключено
Полная поддержка Да
Отключено
Отключено This feature is behind the browser.send_pings preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android ? Safari iOS Нет поддержки НетSamsung Internet Android Полная поддержка Да
referrerpolicyChrome Полная поддержка 51Edge Нет поддержки НетFirefox Полная поддержка 50IE Нет поддержки НетOpera Полная поддержка 38Safari Полная поддержка 11.1WebView Android Полная поддержка 51Chrome Android Полная поддержка 51Edge Mobile Нет поддержки НетFirefox Android Полная поддержка 50Opera Android Полная поддержка 41Safari iOS Нет поддержки НетSamsung Internet Android Полная поддержка 7.2
relChrome Полная поддержка ДаEdge Полная поддержка ДаFirefox Полная поддержка ДаIE Полная поддержка ДаOpera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка ДаChrome Android Полная поддержка ДаEdge Mobile Полная поддержка ДаFirefox Android Полная поддержка ДаOpera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка Да
rev
Устаревшая
Chrome Полная поддержка ДаEdge Полная поддержка ДаFirefox Полная поддержка ДаIE Полная поддержка ДаOpera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка ДаChrome Android Полная поддержка ДаEdge Mobile Полная поддержка ДаFirefox Android Полная поддержка ДаOpera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка Да
shape
Устаревшая
Chrome Нет поддержки НетEdge Нет поддержки НетFirefox Нет поддержки ? — 58
Замечания
Нет поддержки ? — 58
Замечания
Замечания You can no longer nest an <a> element inside a <map> element to create a hotspot region - coords and shape attribute support removed.
IE Нет поддержки НетOpera Нет поддержки НетSafari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Нет поддержки НетEdge Mobile Нет поддержки НетFirefox Android Нет поддержки ? — 58
Замечания
Нет поддержки ? — 58
Замечания
Замечания You can no longer nest an <a> element inside a <map> element to create a hotspot region - coords and shape attribute support removed.
Opera Android Нет поддержки НетSafari iOS Нет поддержки НетSamsung Internet Android Нет поддержки Нет
targetChrome Полная поддержка ДаEdge Полная поддержка ДаFirefox Полная поддержка ДаIE Полная поддержка ДаOpera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка ДаChrome Android Полная поддержка ДаEdge Mobile Полная поддержка ДаFirefox Android Полная поддержка ДаOpera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка Да
typeChrome Полная поддержка ДаEdge Полная поддержка ДаFirefox Полная поддержка ДаIE Полная поддержка ДаOpera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка ДаChrome Android Полная поддержка ДаEdge Mobile Полная поддержка ДаFirefox Android Полная поддержка ДаOpera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка Да

Легенда

Полная поддержка  
Полная поддержка
Нет поддержки  
Нет поддержки
Совместимость неизвестна  
Совместимость неизвестна
Экспериментальная. Ожидаемое поведение может измениться в будущем.
Экспериментальная. Ожидаемое поведение может измениться в будущем.
Устаревшая. Не следует использовать в новых веб-сайтах
Устаревшая. Не следует использовать в новых веб-сайтах
Смотрите замечания реализации.
Смотрите замечания реализации.
Пользователь должен сам включить эту возможность.
Пользователь должен сам включить эту возможность.

Нажатие и фокус

Нажатие на <a> приводит (по умолчанию) к фокусировке элемента, но оно может быть разным в засивисимости от браузера и ОС.

Фокусируется ли элемент нажатием на <a>?

Настольные Windows 8.1 OS X 10.9
Firefox 30.0 Да Да
Chrome ≥39
(Chromium bug 388666)
Да Да
Safari 7.0.5 Нет данных Только с заданным tabindex
Internet Explorer 11 Да Нет данных
Presto (Opera 12) Да Да
Мобильные iOS 7.1.2 Android 4.4.4
Safari Mobile Только с заданным tabindex Нет данных
Chrome 35 Неизвестно Только с заданным tabindex

Примечания

HTML 3.2 включает в себя только name, href, rel, rev и title.

Атрибут target не работает в браузерах, не поддерживающих фреймы, таких как Netscape 1 generation. Кроме того, target не допускается в «строгих» вариантах XHTML, но разрешен в формах frameset или «переходных» формах.

Рекомендации по JavaScript

Часто якорь используется с событием onclick. Для избежания обновления страницы, href часто устанавливается на #, либо на javascript:void(0). Оба этих значения могут привести к некоторым неожиданным ошибкам во время копирования ссылки или открытия ссылки в новой вкладке или окне. Помните об этом, чтобы сделать юзабилити удобнее, когда пользователи используют якори и Вы не допускаете стандартного поведения.

Смотрите также

Метки документа и участники

Обновлялась последний раз: brussens,