Атрибут target
По умолчанию, при переходе по ссылке документ открывается в текущем окне или фрейме. При необходимости, это условие может быть изменено атрибутом target тега . Этот атрибут может принимать следующие значения:
_blank — загружает страницу в новое окно браузера;
_self — загружает страницу в текущее окно;
_parent — загружает страницу во фрейм-родитель;
_top — отменяет все фреймы и загружает страницу в полном окне браузера.
В примере 1 показано создание ссылки на сайт, который открывается в новом окне.
Пример 1. Открытие документа в новом окне
Ссылка открывает новое окно на сайт htmlbook.ru
Для создания валидного кода атрибут target может использоваться только при переходном , как показано во всех примерах этой статьи.
Если на сайте используются фреймы, то в качестве значения target можно использовать имя фрейма (пример 2).
Пример 2. Открытие документа во фрейме
Сайт htmlbook.ru
Ссылка в примере 2 ведет на сайт htmlbook.ru, открывающийся во фрейме с именем newframe .
Когда у target указано неизвестное значение, например, имя фрейма набрано с ошибкой, то это приводит к тому, что ссылка открывается в новом окне.
Если на веб-странице необходимо сделать, чтобы все ссылки открывались в новом окне, нет необходимости добавлять во все теги target=»_blank» . Код можно сократить, если вначале страницы добавить строку , как показано в примере 3.
Пример 3. Использование тега
Ссылка откроется в новом окне
Ссылка откроется в текущем окне
Сделать так, чтобы ссылка открывалась в текущем окне, в таком случае можно, если добавить к тегу атрибут target=»_self» , как показано в данном примере.
Открытие страницы в том же окне html
Ссылки, которые представлены элементом , играют важную роль — они обеспечивают навигацию между отдельными документами. Этот элемент имеет следующие атрибуты:
- href : определяет адрес ссылки
- hreflang : указывает на язык документа, на который ведет данная ссылка
- media : определяет устройство, для которого предназначена ссылка
- rel : определяет отношение между данным документом и ресурсом, на который ведет ссылка
- target : определяет, как документ по ссылке должен открываться
- type : указывает на mime-тип ресурса по ссылке
Наиболее важным атрибутом является href :
Здесь для ссылки используется относительный путь content.html. То есть в одной папке с данным документом должен находиться файл content.html, на который будет идти переход по нажатию на ссылку.
Также мы можем использовать абсолютные пути с полным указанием адреса:
Навигация внутри документа
И также мы можем задать внутренние ссылки, которые будут переходить к определенным блокам внутри элементов:
Параграф 1 | Параграф 2 | Параграф 3Параграф 1
Содержание параграфа 1
Параграф 2
Содержание параграфа 2
Параграф 3
Содержание параграфа 3
Чтобы определить внутреннюю ссылку, указывается знак решетки (#), после которого идет id того элемента, к которому надо осуществить переход. В данном случае переход будет идти к заголовкам h2.
Атрибут target
По умолчанию ресурсы, на которые ведут ссылке, открываются в том же окне. С помощью атрибута target можно переопределить это действие. Атрибут target может принимать следующие значения:
- _blank : открытие html-документа в новом окне или вкладке браузера
- _self : открытие html-документа в том же фрейме (или окне)
- _parent : открытие документа в родительском фрейме, если ссылка расположена во внутреннем фрейме
- _top : открытие html-документа на все окно браузера
- framename : открытие html-документа во фрейме, который называется framename (В данном случае framename — только пример, название фрейма может быть произвольным)
Например, открытие документа по ссылке в новом окне:
Значение _blank как раз и указывает браузеру, что ресурс надо открыть в новой вкладке.
Стилизация ссылок
По умолчанию ссылка уже имеет некоторый цвет (один из оттенков синего), кроме того она имеет подчеркивание. При нажатии на ссылку она становится активной и приобретает красный цвет, а после перехода по ссылке эта ссылка может окраситься в другой цвет (как правило, в фиолетовый). Подобная стилизация задается многими браузерами по умолчанию, но мы можем ее переопределить. Например:
a:link a:visited a:hover a:active Учебник по HTML5
Здесь определены стили для ссылок в различных состояниях. a:link применяется для ссылок в обычном состоянии, когда они не нажаты и на них не наведен указатель мыши.
a:visited указывает на состояние ссылки, по которой уже был осуществлен переход.
a:hover указывает на состояние ссылки, на которую навели указатель мыши.
a:active указывает на ссылку в нажатом состоянии.
Стиль color устанавливает цвет ссылки. А стиль text-decoration устанавливает подчеркивание: если значение underline , то ссылка поддчеркнута, если none , то подчеркивание отсутствует.
Открытие страницы в том же окне html
Ссылки — это то, что делает интернет настоящей паутиной.
- Кратко
- Пример
- Как понять
- Как пишется
- Атрибуты
- Подсказки
- Ещё примеры
- На практике
- Вадим Макеев советует
- Алёна Батицкая советует
- Ольга Ветер советует
- Какая разница между ссылками и кнопками? В каких случаях надо использовать ссылку, в каких кнопку? Почему эта разница важна с точки зрения доступности?
Кратко
Скопировать ссылку «Кратко» Скопировано
Пример
Скопировать ссылку «Пример» Скопировано
Яндекс
a href="https://www.yandex.ru/">Яндексa>
Сделаем ссылку для отправки письма на почту:
Отправить сообщение в никуда
a href="mailto:nowhere@yandex.ru">Отправить сообщение в никудаa>
На практике
Скопировать ссылку «На практике» Скопировано
Вадим Макеев советует
Скопировать ссылку «Вадим Макеев советует» Скопировано
🛠 Когда нужно сделать навигацию в пределах одной страницы, например, оглавление, удобно использовать якоря — то есть ссылки на отдельные элементы. При нажатии на ссылку браузер мгновенно переместится к этому элементу.
Чтобы создать такую ссылку, нужно две вещи:
- Добавить уникальный id = «element» целевому элементу.
- Сослаться на него с помощью ссылки вида #element .
Фотографии пёсиков …
Фотографии пёсиков
a href="#section-1"> Фотографии пёсиков a> … section id="section-1"> h3>Фотографии пёсиковh3> section>
Чтобы перемещение по якорю было плавным, можно добавить свойство scroll — behavior контейнеру, который будет прокручиваться. Чаще всего, это :
body scroll-behavior: smooth;>
body scroll-behavior: smooth; >
Обратите внимание, что уникальность id важна, поскольку браузер рассчитывает, что на странице есть только один такой элемент и найдёт только первый по коду, а до второго не дойдёт. Расстановку таких id лучше поручить шаблонизатору, он точно не ошибётся.
Например, генераторы статики умеют делать уникальный id из содержимого заголовка:
Уникальный заголовок
h3 id="unikalny-zagolovok"> Уникальный заголовок h3>
Иногда перемещение по якорю прокручивает страницу впритык к целевому элементу, обрезая родительский контейнер. Это можно исправить, если поставить id на родительский контейнер, либо с помощью свойства scroll — margin — оно добавит нужный отступ.
h3 scroll-margin: 20px;>
h3 scroll-margin: 20px; >
Алёна Батицкая советует
Скопировать ссылку «Алёна Батицкая советует» Скопировано
🛠 По умолчанию ссылка — строчный элемент. Поэтому, если нужно обернуть в неё целый блок, задайте для ссылки display : block .
🛠 Поскольку ссылка строчная, лучше вкладывать её в блочный элемент, а не наоборот. Для примера возьмём заголовок, который должен быть ссылкой.
Заголовок, он же ссылка
Заголовок, он же ссылкаa href="#"> h2>Заголовок, он же ссылкаh2> a> h2> a href="#">Заголовок, он же ссылкаa> h2>
Ольга Ветер советует
Скопировать ссылку «Ольга Ветер советует» Скопировано
🛠 Иногда нам всё же может понадобиться «отключить» ссылку. На это должна быть веская причина: необходимость создать временную «заглушку», требование специалиста по продвижению сайта и так далее. Если речь идёт о ссылке на текущую страницу и у нас нет нужды её блокировать, то достаточно будет использовать aria — current = «page» .
Что нужно сделать, если ссылку нужно заблокировать?
Лучше всего убрать атрибут href , это разрешается спецификацией. Такая ссылка уже будет вести себя как «заглушка» и не будет интерактивной: то есть не появится контекстное меню по правому клику, не изменится вид курсора при наведении, не возникнет фокус при работе с клавиатуры.
Текст ссылки
a>Текст ссылкиa>
Роль этого элемента уже не будет восприниматься устройствами как link . Это не совсем корректно с точки зрения семантики и хорошо будет показать, что это именно ссылка, и что мы её отключаем умышленно, а не по ошибке. Явно определить роль поможет атрибут role = «link» (ссылка без href эту роль теряет). Обозначить ссылку как отключённую нам поможет атрибут aria — disabled = «true» .
Текст ссылки
a role="link" aria-disabled="true">Текст ссылкиa>
Если мы знаем, что такие заблокированные ссылки-«заглушки» на нашем сайте есть или могут возникнуть, то рекомендуется и состояния (например :hover ) прописывать с учётом наличия href , чтобы у заблокированных ссылок каких-либо спецэффектов интерактивного элемента не возникало. Например так:
a[href]:hover background-color: #FF8630;>
a[href]:hover background-color: #FF8630; >
Ссылка, лишённая атрибута href , этого изменения фона по наведению курсора не получит.
На собеседовании
Скопировать ссылку «На собеседовании» Скопировано
Какая разница между ссылками и кнопками? В каких случаях надо использовать ссылку, в каких кнопку? Почему эта разница важна с точки зрения доступности?
Скопировать ссылку «Какая разница между ссылками и кнопками? В каких случаях надо использовать ссылку, в каких кнопку? Почему эта разница важна с точки зрения доступности?» Скопировано
Скопировать ссылку «Александр Ламков отвечает» Скопировано
Ощутимая разница между ссылками и кнопками в том, что «активация» элемента при фокусе с клавиатуры происходит по-разному. Для ссылок — клавишей Enter , а для кнопок — пробелом или Enter . Пользователь, привыкший перемещаться по интерфейсу сайта и взаимодействовать с ним с клавиатуры, получит неожиданное поведение при попытке взаимодействия с ложной ссылкой или кнопкой.
Чтобы определить, какой тег использовать, ссылку или кнопку, нужно подумать про ожидаемое поведение при взаимодействии с элементом. Если при нажатии на элемент подразумевается переход на другую страницу, то в коде элемент нужно сделать тегом , то есть ссылкой. Если при нажатии произойдёт действие в рамках текущей страницы, например, откроется модальное окно с формой входа, то такой элемент нужно сделать тегом .
С точки зрения доступности у ссылок и кнопок разные роли. У ссылок — link , у кнопок — button . Скринридер перед озвучиванием содержимого элемента произносит его роль. Если используете неправильные теги, роли перемешаются и это запутает пользователей скринридеров.