<a> - элемент ссылки
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
HTML-элемент <a>
определяет гиперссылку для перехода на определённое место на странице или на другую страницу в Интернете. Также он может быть использован (в устаревшем варианте) для создания якоря — это место назначения для гиперссылок внутри страницы: так ссылки не ограничены только в перемещении между страницами.
<a href="https://developer.mozilla.org">MDN</a>
Категории контента | Основной поток, текстовый контент, интерактивный контент, скрытый контент. |
---|---|
Разрешённый контент | Логический контент, содержащий либо основной поток (исключая интерактивный контент), либо заголовочный контент. |
Опускание тегов | Открывающий и закрывающий теги обязательны. |
Разрешённые родительские элементы | Любые элементы, в которых разрешён текстовый контент или элементы, в которых разрешёны элементы основного потока. |
DOM-интерфейс | HTMLAnchorElement |
Атрибуты
Этот элемент включает в себя общие атрибуты.
download
-
Этот атрибут сообщает о том, что эта ссылка должна быть использована для скачивания файла, и, когда пользователь нажимает на ссылку, ему будет предложено сохранить файл как локальный. Если у этого атрибута есть значение, оно будет использовано как заполненное название файла в Окне сохранения, которое открывается, когда пользователь нажимает на ссылку (пользователь может поменять название перед сохранением файла). Ограничений на позволенные значения нет (хотя оно будет конвертировано в нижние подчёркивания, предотвращая специфичные пути), но стоит обратить внимание, что у большинства файловых систем есть ограничения на то, какие знаки препинания поддерживаются файловой системой, и браузеры регулируют названия согласно ограничениям.
Примечание:
- Атрибут может быть использован вместе с blob: URLs и
data: URLs
, чтобы пользователи могли проще скачать контент, который сгенерирован с помощью JavaScript (например, картинка, созданная с помощью онлайн-сайта для рисования). - Если представлен HTTP-заголовок
Content-Disposition:,
и он содержит иное название, у HTTP-заголовка есть преимущество над атрибутом. - Если этот атрибут установлен и
Content-Disposition:
установлен наinline
, Firefox отдаёт преимуществоContent-Disposition
, но в тоже время Chrome отдаёт преимущество атрибутуdownload
. - Этот атрибут соблюдается только на ресурсах с тем же доменом.
- Атрибут может быть использован вместе с blob: URLs и
href
-
Единственный обязательный атрибут для определения ссылки в HTML4, но больше необязательный в HTML5. Упущение этого атрибута создаёт ссылку-заполнитель. Атрибут
href
указывает ссылку: либо URL, либо якорь. Якорь — это название после символа#
, который указывает на элемент (ID) на текущей странице. URL не ограничены только ссылками на HTTP, они могут использовать любой протокол, поддерживающийся браузером. Например,file
,ftp
иmailto
работают в большинстве браузеров.
Примечание: Вы можете использовать специальное значение «top», чтобы создать ссылки в начало страницы, например: <a href="#top">Вернуться наверх</a>
. Это поведение указано в Спецификациях HTML5.
hreflang
-
Этот атрибут сообщает язык документа по ссылке. Это чисто контрольная информация. Разрешённые значения определены в BCP47 для HTML5 и RFC1766 для HTML4. Используйте этот атрибут, только если задан
href
. ping
-
Этот атрибут уведомляет указанные в нём 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
-
Определяет, где показать содержимое связанного документа. Это ключевое слово или имя контекста отображения (вкладка, окно или
<iframe>
). Следующие ключевые слова имею специальные значения:-
_self
: Текущий контекст отображения (это значение по умолчанию). -
_blank
: Новая вкладка или новое окно в зависимости от настроек браузера. -
_parent
: Родительский контекст отображения. Если родителя нет, то поведение аналогично_self
. -
_top
: Самый верхний контекст просмотра, то есть контекст самого первого предка. Если предков нет, то поведение аналогично_self
. -
_unfencedTop
: позволяет встроенным изолированным фреймам обращаться к фрейму верхнего уровня (т.е. выходить за пределы изолированного фрейма). Обратите внимание, что навигация будет работать, если она используется вне контекста изолированного фрейма, но она не будет действовать как зарезервированное ключевое слово.Примечание: Использование
target="_blank"
на элементах<a>
неявно приводит к такому же поведениюrel
, как при указании значенияrel="noopener"
, которое не устанавливаетwindow.opener
.
-
type
-
Этот атрибут определяет MIME-тип для документа по ссылке. Обычно это используется как контрольная информация, но в будущем браузеры могут добавлять маленькую иконку для медиафайлов. Например, браузер может добавить маленькую иконку мегафона, если тип файла установлен как
audio/wav
.Используйте этот атрибут только если указанhref
.
Устаревшие
charset
-
Этот атрибут определяет кодировку документа по ссылке. Значением является разделённый пробелами или запятыми список кодировок. Значением по умолчанию является ISO-8859-1.
Предупреждение: Этот атрибут является устарелым в HTML5 и не должен использоваться. Чтобы достичь такого же эффекта, используйте HTTP-заголовок
Content-Type
на ссылающемся ресурсе. coords
-
Для использования с формой объекта, этот атрибут использует разделённый запятыми список чисел для определения координат объекта на странице.
name
-
Этот атрибут обязателен в определении якоря на странице. Значение имени схоже со значением
id
и должен быть уникальным идентификатором и состоять из букв и цифр. Согласно спецификации HTML 4.01, иid
, иname
могут быть использованы с элементом<a>
, пока у них идентичные значения. rev
-
Этот атрибут определяет обратную ссылку, обратные отношения атрибута
rel
. Это полезно, чтобы отобразить, откуда пришёл объект как автор или документ. shape
-
Этот атрибут используется, чтобы определить выбранный регион для ссылок на источник гипертекста, которые соединены с фигурой для создания изображения-карты. Значения для атрибута —
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
для форм требует, чтобы полностью закрытая территория, например, изображение, было использовано.
Нестандартные
datafld
Non-standard-
Этот атрибут определяет название столбца из объекта исходных данных, который принимает связанные данные.
Предупреждение: Этот атрибут нестандартный и не должен использоваться. Для достижения такого же эффекта, используйте скрипты и такие механизмы, как XMLHttpRequest, чтобы динамично заполнять страницу.
Поддержка | Gecko | Presto | WebKit | Trident |
Не реализована | Не реализована | Не реализована | IE4, IE5, IE6, IE7 (Убрана в IE8) | |
Нормативный документ | Microsoft's Data Binding: dataFld Property (MSDN) |
datasrc
Non-standard-
Этот атрибут сообщает ID объекта исходных данных, который принимает связанные данные с этим элементом.
Предупреждение: Этот атрибут нестандартный и не должен использоваться. Для достижения такого же эффекта, используйте скрипты и такие механизмы, как XMLHttpRequest, чтобы динамично заполнять страницу.
Поддержка | Gecko | Presto | WebKit | Trident |
Не реализована | Не реализована | Не реализована | IE4, IE5, IE6, IE7 (Убрана в IE8) | |
Нормативный документ | Microsoft's Data Binding: dataSrc Property (MSDN) |
methods
Non-standard-
Значение этого атрибута предоставляет информацию о функциях, которые могут быть выполнены на объекте. Обычно значения даны HTTP-протоколом, когда он использован, но может (для похожих целей, как для атрибута
title
) быть полезным для включения контрольной информации в ссылке. Например, браузер может выбрать другой тип рендеринга для ссылки как функцию определённых методов; что-то, что может быть найдено, может иметь другую иконку, или внешняя ссылка может получить индикатор перехода с текущего сайта. Этот элемент не понимается или не поддерживается полностью даже браузером Internet Explorer 4, который определил этот атрибут. Значенияmethods
(MSDN). urn
Non-standard-
Этот атрибут, предложенный Microsoft, определяет отношения уникального названия ресурса (URN) с ссылкой. Хотя он основан на стандартах работы нескольких лет назад, значение URN всё ещё не определено полностью, поэтому этот атрибут не имеет значения. Значения
urn
(MSDN).
Примеры
Ссылка на внешний сайт
Создание кликабельной картинки
<a href="https://developer.mozilla.org/ru/" target="_blank">
<img src="mdn_logo.png" alt="MDN logo" />
</a>
Результат
Создания ссылки для написания письма
<a href="mailto:nowhere@mozilla.org">Отправить сообщение в никуда</a>
Результат выглядит примерно так: Отправить сообщение в никуда.
Для дополнительных деталей использования mailto
, таких как тема, текст или другое, смотрите Email-ссылки или RFC 6068.
Создание ссылки с номером телефона
Использование 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/.
Спецификации
Specification |
---|
HTML Standard # the-a-element |
Совместимость с браузерами
BCD tables only load in the browser
Примечания
HTML 3.2 включает в себя только name
, href
, rel
, rev
и title
.
Атрибут target
не работает в браузерах, не поддерживающих фреймы, таких как Netscape 1 generation. Кроме того, target
не допускается в «строгих» вариантах XHTML, но разрешён в формах frameset или «переходных» формах.
Рекомендации по JavaScript
Часто якорь используется с событием onclick
. Для избежания обновления страницы, href
часто устанавливается на #
, либо на javascript:void(0)
. Оба этих значения могут привести к некоторым неожиданным ошибкам во время копирования ссылки или открытия ссылки в новой вкладке или окне. Помните об этом, чтобы сделать юзабилити удобнее, когда пользователи используют якори и вы не допускаете стандартного поведения.