Закладки в HTML
Урок «Link Titles & Targets» менял как открывается ссылка. Закладки (fragment-ссылки) меняют куда на странице вы попадаете. Длинные уроки, FAQ и документация часто нуждаются в переходе к «Тарифам», «FAQ» или «Наверх» без загрузки нового документа. Этот приём сочетает уникальный id на цели с href, который начинается с #.
Что такое закладка внутри страницы
Идентификатор фрагмента — это часть URL после #. В HTML точку посадки создают, задавая элементу id. Затем любая ссылка с href вида #that-id просит браузер прокрутить страницу к первому совпадающему id (или к странице, указанной перед #, если вы добавили путь).
Прямой ответ
- Задайте цели атрибут
id, например<h2 id="pricing">. - Ссылайтесь через
href="#pricing".
Символ#означает «найди этот id». Id на странице должны быть уникальными. Предпочитайте короткие имена без пробелов:pricing, а неOur Pricing!!.
Оглавление на той же странице
Мини-навигация вверху длинной страницы — классическая демонстрация для начинающих: fragment-ссылки сверху, совпадающие id у заголовков ниже и ссылка «назад».
Закладки на странице
html<nav>
<a href="#intro">Intro</a> |
<a href="#pricing">Pricing</a>
</nav>
<h2 id="intro">Intro</h2>
<p>Welcome to the guide.</p>
<h2 id="pricing">Pricing</h2>
<p>Simple plans for learners.</p>
<p><a href="#intro">Back to intro</a></p>
Как читать пример на странице
#introи#pricing— это fragment-ссылки, а не отдельные файлыidкаждого заголовка должен совпадать с фрагментом после#- Навигация может стоять где угодно; оглавление вверху типично для длинного контента
- «Back to intro» показывает, что закладки работают и вниз, и вверх по одному документу
Ссылка на раздел другой страницы
Можно объединить относительный (или абсолютный) путь с фрагментом. Браузер загружает страницу, затем переходит к id, если он существует.
Путь плюс фрагмент
html<p>
<a href="guide.html#pricing">Open pricing in the guide</a>
</p>
Когда использовать path#id
- Переходы на той же странице: достаточно
#pricing - Другой HTML-файл в проекте:
guide.html#pricing - Внешняя документация, которой вы доверяете: полный URL, оканчивающийся на
#section-name, если у сайта стабильные id
Если id на целевой странице отсутствует, браузер обычно открывает страницу сверху и игнорирует неизвестный фрагмент.
Привычки именования id
- Одно значение id на страницу — никогда не дублируйте
- По возможности начинайте с буквы; избегайте пробелов и странной пунктуации
- Для составных имён используйте дефисы:
getting-started - Держите имена стабильными, если другие страницы будут на них глубоко ссылаться
Id нужны машинам и URL; видимый текст заголовка может оставаться понятным человеку и отличаться от строки id.
Закладки и «закладки» браузера
Словом «закладка» также называют сохранение страницы в избранном браузера. В этом уроке имеются в виду fragment-ссылки внутри страницы. Избранное браузера использует URL документа (иногда с фрагментом, если вы его скопировали). Одно слово — разные повседневные задачи; держайте HTML-смысл ясным, когда учите других.
Заметки по доступности и UX
Jump-ссылки помогают пользователям клавиатуры и скринридеров перемещаться по длинным страницам, когда цели — реальные ориентиры (заголовки, секции). Не создавайте десятки пустых id. Убедитесь, что цель видна после перехода — липкие шапки позже при CSS могут перекрывать заголовки; пока просто проверьте, что появляется нужный раздел.
Практика в редакторе
- Создайте два заголовка с разными значениями
id. - Над ними добавьте fragment-ссылки с
href="#…". - Кликните каждую ссылку и убедитесь, что страница переходит к нужному заголовку.
- Добавьте ссылку «Наверх», указывающую на id первого заголовка или верхний landmark.
- Из второго файла сошлитесь через
other.html#introи проверьте переход между страницами. - Временно продублируйте id, посмотрите на путаницу, затем исправьте уникальность.
Типичные ошибки
- Один и тот же
idдважды на одной странице - Забытый
#вhref, из‑за чего браузер ищет имя файла - Пробелы или странные символы в id
- Ссылка на id, которого не существует
- Путаница fragment-закладок с
target="_blank"(разные задачи) - Ожидание, что одного
#pricingхватит, чтобы открыть другой файл без пути
Кратко
- Закладки на той же странице используют
idплюсhref="#id" - Id должны быть уникальными, короткими и без пробелов
- Отлично подходят для длинных страниц и мини-оглавлений
- Используйте
page.html#id, чтобы попасть в раздел другой страницы - Отсутствующие фрагменты обычно тихо «проваливаются» — вы остаётесь вверху
🧠 Проверьте Свои Знания
Проверьте Свои Знания
Бросьте себе вызов с помощью этой интерактивной викторины и узнайте, насколько хорошо вы понимаете тему
📝 Инструкции
- Внимательно прочитайте каждый вопрос
- Выберите лучший ответ на каждый вопрос
- Вы можете пересдавать тест столько раз, сколько захотите
- Ваш прогресс будет показан вверху