1️⃣
Разметка
  • 1. 1. Введение
  • 1. 2. Введение в HTML
  • 1. 3. Подходы к разметке
  • 1. 4. Работа со спецификацией
  • 1. 5. Проверка валидности
  • 1. 6. Часто используемые теги и типовые ошибки
  • 1. 7. Методика семантической разметки
    • 1. 7. 1. Определяем DOCTYPE
    • 1. 7. 2. Шаг 1. Выделяем крупные смысловые блоки на каждой странице сайта
    • 1. 7. 3. Шаг 2. Размечаем в блоках крупные смысловые разделы
    • 1. 7. 4. Шаг 3. Выделяем заголовок всего документа и заголовки смысловых разделов
    • 1. 7. 5. Шаг 4. Размечаем мелкие элементы в смысловых разделах
    • 1. 7. 6. Шаг 5. Размечаем фразовые элементы
  • 1. 8. Использование тега br
  • 1. 9. DOCTYPE
  • 1. 10. Как работает атрибут target
  • 1. 11. Правильное использование ссылок и кнопок
  • 1. 12. Как делать пустые ссылки?
  • 1. 13. Как правильно скрывать элементы?
  • 1. 14. Когда применять список терминов (dl)?
  • 1. 15. Как использовать ссылки mailto: и tel:
  • 1. 16. Именование сущностей
  • 1. 17. Разметка по БЭМ
    • 1. 17. 1. Введение
    • 1. 17. 2. Предыстория
    • 1. 17. 3. Частые проблемы из-за неправильной CSS-архитектуры проекта
    • 1. 17. 4. Основные понятия
    • 1. 17. 5. Свод правил БЭМ-а
    • 1. 17. 6. БЭМ для CMS
    • 1. 17. 7. Названия классов по БЭМ
    • 1. 17. 8. БЭМ — это про компоненты
    • 1. 17. 9. Темизация
    • 1. 17. 10. Плюсы и минусы БЭМ
    • 1. 17. 11. Алгоритм выделения блоков
    • 1. 17. 12. Типовые интерфейсные решения
    • 1. 17. 13. Блоки и элементы
    • 1. 17. 14. Миксы блоков и элементов
    • 1. 17. 15. Модификаторы блоков и элементов
    • 1. 17. 16. Типовые ошибки
  • Дополнительные материалы
Powered by GitBook
On this page

1. 12. Как делать пустые ссылки?

Как делать пустые ссылки?

Пустые ссылки делают, когда страницы ещё нет, а ссылка на неё уже есть. Например, в меню может быть ссылка на каталог, а каталог ещё не начали верстать. Другая ситуация — когда нужно что-то показать на странице, но без её перезагрузки, например, модальное окно.

Есть несколько способов размечать пустые ссылки. Рассмотрим, в чём особенности каждого из способов

<a href="">Каталог</a>

Это один из самых худших вариантов, так как при клике по такой ссылке происходит перезагрузка страницы.

<a href="#">Каталог</a>

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

<a href="##">Каталог</a> или <a href="#!">Каталог</a>

Это усовершенствованная версия предыдущего способа, так как страница в этом случае не прокручивается вверх. Адрес страницы при этом меняется: также добавляется # в конце адреса. Однако, этот способ работает не во всех браузерах.

<a href="#no_scroll">Каталог</a>

Можно сделать полноценную якорную ссылку, но при этом без элементов с id=”no_scroll”. Этот способ работает во всех браузерах, не скролит страницу к началу, но меняет ссылку, добавляя #no_scroll в конец адреса.

<a href="javascript:void(0);">Каталог</a>

Достаточно старый способ, который с помощью JavaScript просит ссылку ничего не делать. Правильнее было бы написать javascript:undefined;, но этот вариант длиннее, поэтому придумали более короткую замену — void(0), которая также возвращает undefined. Этот вариант был создан ещё в то время, когда JavaScript добавляли прям в разметку. Ссылка в этом случае не изменяется, что лучше, чем в предыдущем варианте.

<a href="bla-bla-bla" onclick="return false;">Ссылка</a>

Иногда программисты могут придумывать новые способы. Например, такой: добавить любое значение в href и дополнить его атрибутом onclick со значением return false;. В этом случае не произойдёт ни прокрутки, ни изменения ссылки. Но есть нюанс: у элемента может быть только одно событие onclick и на это событие можно «повесить» только один обработчик. Иногда это может стать проблемой. Однако, в настоящее время есть альтернативный способ добавления событий — специальный метод addEventListener. Подробнее о событиях и их обработчиках мы рассказываем на курсах по JavaScript.

<a>Каталог</a>

Ещё один вариант — вообще не указывать href, если он не нужен. Ссылка превращается в <span>: удаляется стандартное подчёркивание снизу и стандартный синий цвет. Также удаляются состояния active и focus, потому что с такой ссылкой нельзя взаимодействовать, но остаётся состояние hover. Это хороший вариант, так как ссылки действительно пока нет и поэтому не с чем взаимодействовать, но при этом пользовательская стилизация (та, которую пишете вы), продолжает работать.

Можно использовать любой вариант, но теперь вы знаете все ограничения каждого способа. Мы рекомендуем использовать один из двух — <a href="#">Каталог</a> или <a>Каталог</a>.

Previous1. 11. Правильное использование ссылок и кнопокNext1. 13. Как правильно скрывать элементы?

Last updated 1 year ago