HTML Links — Create Bookmarks
HTML links can be used to create bookmarks, so that readers can jump to specific parts of a web page.
Create a Bookmark in HTML
Bookmarks can be useful if a web page is very long.
To create a bookmark — first create the bookmark, then add a link to it.
When the link is clicked, the page will scroll down or up to the location with the bookmark.
Example
First, use the id attribute to create a bookmark:
Then, add a link to the bookmark ("Jump to Chapter 4"), from within the same page:
Example
You can also add a link to a bookmark on another page:
Chapter Summary
- Use the id attribute (id="value") to define bookmarks in a page
- Use the href attribute (href="#value") to link to the bookmark
HTML Exercises
HTML Link Tags
| Tag | Description |
|---|---|
| <a> | Defines a hyperlink |
For a complete list of all available HTML tags, visit our HTML Tag Reference.
Создаём меню закладок для сайта, с помощью CSS и jQuery

От автора: Одной из грандиозных проблем веб-дизайнеров является отыскание возможности поместить большое количество информации на странице, не потеряв при этом в юзабилити. Разбиение содержимого на закладки – отличный способ управиться с этим вопросом и последнее время очень широко используется в блогах. Сегодня мы намереваемся построить обычный небольшой информационный блок в HTML, в виде меню с закладками, затем введем его в действие, используя немного простого Javascript’а, и, наконец, сделаем то же самое при помощи библиотеки jQuery.
Перед тем, как мы приступим к практическим шагам созданию меню закладок, я Вам рекомендую просмотреть демо-результат работы.
Шаг 1 в создании меню закладок
В первую очередь самое важное – нам нужно нечто, внушающее уважение. Поэтому предпримем быстрое путешествие в Photoshop и вуаля! – у нас есть хорошая модель того, как должен выглядеть компонент с закладками. Сделать его привлекательным довольно просто при помощи нескольких дополнительных градиентов. Вы можете использовать исходный файл Photoshop PSD для этого изображения, если захотите рассмотреть его получше, однако оно весьма простое и в действительности мы можем собрать его из плоского JPG.

Шаг 2
Конечно, первое, что следует сделать при сборке – приблизительно представить, как вы собираетесь это сделать. Чем больше проектов вы разработали, тем легче. Глядя на это изображение, я бы сказал, что лучше всего:

Профессия Frontend-разработчик PRO
Готовим Frontend-разработчиков с нуля
На курсе вы научитесь создавать интерфейсы веб-сервисов с помощью языков программирования и дополнительных технологий. Сможете разрабатывать планировщики задач, мессенджеры, интернет-магазины…
Создать контейнер <div>, внутрь которого все поместить. Таким образом, если нужно расположить в определенном месте наш блок или сбросить его в sidebar, можно просто скопировать все, что обернуто в <div>, и где-нибудь его вставить.
Затем у нас будет область заголовка, возможно, с тэгом <h>.
Затем ниже этого у нас будет второй тэг <div>, который содержит закладки и контент. Это темно-серый блок в изображении.
Далее, внутри него мы используем неупорядоченный список <ul>, где каждый элемент является ссылкой на закладку. Это позволит нам использовать части <li> этого списка для позиционирования закладок, и их элементы <a> для придания стилей и установки ролловеров и режимов вкл/выкл (on/off).
Ниже мы создадим заключительную область <div>, которая будет содержать контент каждой закладки. Нам понадобится по одной такой области для каждой закладки, и мы будет показывать или скрывать их в зависимости от того, на которую из закладок щелкнули.
Итак, подведем итоги, получается что-то вроде этого:
Не беспокойтесь, если при взгляде на изображение вы не начинаете тут же думать о его структуре. Иногда нужно сделать что-то методом проб и ошибок. Что касается меня, то я делал эти маленькие штучки с закладками несколько раз и знаю, что это хороший простой метод выполнить их.
А еще очень полезно продумать такую структуру до того, как у вас получится множество названий классов, id и контента, потому что позже станет сложно рассмотреть за деревьями лес. Особенно после того, как вы добавите контент ко всяким разным закладкам.
А теперь, когда у нас в мозгу сложилась картинка того, как построить свою структуру, давайте примемся за нее!
Шаг 3
Сейчас, если вы следовали моим учебникам на PSDTUTS, вы знаете, что я люблю хороший градиентный фон. Поэтому до структуры с закладками давайте сделаем отличный фон!
Откройте Photoshop, создайте документ размером 1000px x 1000px и нарисуйте красивый (subtle) радиальный градиент, такой, как показан ниже. Обратите внимание, что я нарисовал его, начиная с центральной точки сверху документа, и удостоверился, что градиент закончится до достижения края документа. Это означает, что я могу в HTML установить цвет фона более темным, и если кто-то увеличит окно браузера, то переход цвета будет плавным.

Шаг 4
Итак, создайте для проекта новую директорию, затем создайте там внутри вторую, называемую images и сохраните внутри него изображение как background.jpg. При сохранении используйте File > Save for Web and Devices и выберите JPG, установив настройку качества (quality setting) примерно на 70. Получится файл размером 16kb, что очень неплохо. Бывали времена, когда приходилось действительно жадничать и экономить, но сейчас следует просто убедиться, что вы не слишком глупо расточительны с размерами своих файлов.
Теперь мы создает документ HTML и пишем кое-какой код:
Это будет основой нашего HTML. Теперь мы создаем документ style.css и напишем следующее:
Тут имеется парочка примечаний:
Можно написать тот же самый CSS, пользуясь сокращенной записью, и уменьшить количество используемых строк, но для написания учебника так получается гораздо понятнее и лучше!
У нас есть фоновое изображение (градиент) и мы установили его неповторяющимся, так как нам нужно, чтобы оно появилось всего однажды, оно отцентрировано и, наконец, цвет фона (#657077) – установлен более темным (прим. перев. – чем сам градиент).
Я добавил margin (поле) размером 40px. Это необходимо при последующем расположении материалов таким образом, чтобы все выглядело красиво.
Здесь можно видеть итоговый HTML-документ. Заметьте, что если вы меняете размер окна, фон остается красивым, плавно меняющимся, градуированным. Wunderbar! (Прекрасно! нем.)
Шаг 5
Далее мы добавляем свою структуру к странице, так что теперь можем начать добавлять к ней стили.
Таким образом, как можно видеть, я в основном использовал ту же структуру, которую упоминал в Шаге 2. Просто я добавил немного id и class’ов, и некоторый реальный контент. Вот некоторые рассуждения, о том, что я сделал:
В качестве заголовка я поместил подсказку «Select a Tab» (выберите закладку) в элементе <small>. Это позволило пользоваться элементом <h4> для общего позиционирования и элементом <small> для изменения стиля и позиционирования подсказки.
У контейнера <div> установлены атрибуты id=”tabbed_box_1” и class=”tabbed_box”. Это сделано для того, чтобы иметь возможность пользоваться этим кодом несколько раз на одной и той же странице. В принципе, мы могли бы использовать только id, чтобы реализовать возможность располагать контейнеры в разных местах. Однако, при этом нам все еще необходимы классы, чтобы назначать стили. В противном случае, при использовании атрибута id для назначения стилей, нам придется определять одни и те же стили снова и снова для разных значений id.
Я назначил id ссылкам и областям контента, потому что для управления ими позже нам придется использовать Javascript.
Наконец, я назначил элементу <ul> название класса. На самом деле, мы могли бы назначить ему стили и без использования классов, просто при помощи styling .tabbed_area ul < >, но в этом случае он может перепутаться с нижеследующими <ul>’ами, которые мы поместим в область контента. Поэтому лучше всего иметь название класса, на которое потом ссылаться.
OK, без стилей выглядит все не очень …. пока!

Шаг 6
Теперь при определении стилей для элементов, я думаю, лучше всего работать от внешнего элемента внутрь. Итак, мы начнем с этого элемента – <div – который используется, чтобы красиво расположить блок в центре нашего документа с помощью кода:
Шаг 7
А теперь проработаем область заголовка. Вот так можно назначить ему стили:
Здесь нужно кое-что заметить:
Вместо того, чтобы просто задать стили для элемента h4, я определил класс .tabbed_box h4. Это важно для больших HTML-документов, потому что где-нибудь еще у вас может оказаться другой стиль элемента h4. Так что придется убедиться, что вы не вызовете сейчас или в будущем проблем с наложением стилей.
Вы заметите, что я также установил нижнее поле (bottom margin) h4 на 10px. Это сделано для того, чтобы интервалы правильно выглядели. Важно помнить, что у многих элементов есть свойства по умолчанию. Например, у h4 уже есть нижнее поле, и оно больше, чем я бы хотел. Так что если мы его не установим сами, элемент появится с большим полем. Некоторые пользуются специальными таблицами стилей, которые переустанавливают все эти свойства по умолчанию, но я привык менять их по отдельности, когда мне это нужно.
Вы также увидите, что я использовал атрибут text-transform, чтобы текст внутри small был с заглавных букв. Конечно, можно было просто написать его большими буквами, но мне так больше нравится!
Вы также заметите, что в определениях для элемента small, установлено position:relative, для того, чтобы можно было регулировать расположение, сдвинув элемент вверх на 4px и вправо на 6px.
Наконец, при назначении стилей элементу h4 я определил ему отрицательный межбуквенный интервал (letter spacing), и это приведет к тому, что элемент small также унаследует этот отрицательный межбуквенный интервал, что нам вовсе не нужно. Так что тут я должен снова установить его в 0px. Это происходит благодаря тому факту, что стили каскадируются вниз – отсюда и название Cascading Style Sheets (каскадные таблицы стилей). Частенько вы будете замечать на своей странице, что что-то выглядит странно, и это будет происходить оттого, что элемент унаследовал какой-то стиль, о котором вы уже полностью забыли. Впервые столкнувшись с этим, я целую вечность глазел на малюсенький фрагмент, пытаясь понять, почему он выглядит таким сбившимся в кучку, пока не вспомнил!
Шаг 8
Дальше мы определим немножко стилей своему внутреннему <div> при помощи этого кода:
Якорь HTML | Закладка на веб-странице
Якорь в HTML – закладка на веб-странице, открывающая сетевой документ в месте установки якоря при переходе по ссылке на него. Переход по ссылке на html-якорь откроет страничку сайта (блога) ИМЕННО в месте установки якорька. Такой прием широко используется для целевого направления юзера (читателя) сайта (блога) в конкретное место веб-страницы, например – посредством создания меню-оглавления статьи со ссылками на расставленные в тексте якоря.
Создать якорь HTML
Создать якорь HTML на веб-странице – установить в html-документ код якоря с уникальным его именем в пределах устанавливаемой страницы. Уникальное имя якоря содержит минимум три латинских символа в любой комбинации, с добавлением (при желании) цифирь, дефиса («знак минус») и нижнего подчеркивания. Пробелы и служебные символы («,/><[]<>) в написании якорного имени не допускаются. Количество якорей на веб-странице не ограничено, якоря с одинаковым именем – не работают. Различают якорь-«name» и «id»-якорь.
Якорь «name»
Якорь «name» создается присутствием устаревшего и безобиднейшего атрибута ссылки «name» в элементе «a». Код якоря устанавливается непосредственно в оформляемый элемент текста статьи-контента веб-страницы:
Якорь «name» прост и безопасен в обращении, используется большинством журналистов-литераторов и поддерживается визуальными текстовыми редакторами, вида TinyMCE. Абсолютная ссылка на якорь прекрасно индексируется поисковыми системами, при наличии уникальности видимой части ссылки и якоря.
Установка якоря «name» делается в один клик текстового редактора TinyMCE (кнопка «Вставить якорь»). Якорь устанавливается курсором в любом месте текстовой части веб-страницы без тяжелых последствий для работы её шаблона.
Размеры name-якоря на экране монитора определяются видимой частью текста. При отсутствии буквей и цифрей наполнения видимой части – высота и ширина установленного якоречка равны нолю (невидимый якорь).
Судьба атрибута «name» в HTML полна противоречий, атрибут считается устаревшим. Долгие попытки отказаться от безопасного якоря-name в пользу распрекрасного универсального, но невероятно стремного якоря-id успехом не увенчались. Якорь «name» остается любимым и безопасным инструментом веб-мастеров и, смотря на древность сюжета – рулит простым юзерам.
Якорь «id»
Якорь «id» создается присутствием универсального идентификатора «id» в коде любого элемента веб-страницы, этот идентификатор естессно поддерживающем:
где, элемент <div> взят исключительно для примера. Им может выступить <h> (заголовок), <ol>, <ul> (списки), <table> (таблица), примерно так:
Использование универсального идентификатора id совершенно противопоказано литераторам многопользовательских сайтов. Ибо, нет лучше и проще способа сковырнуть работу шаблона страницы, чем указать в id-имени якоря имя уже существующего идентификатора id из шаблона разметки веб-документа. Отличный результат гарантирован, ибо два идентификатора «id» с одним одинаковым именем не работают! Замечательные сайтовые грабли! За сим, несмотря на старомодность и не совсем валидность, атрибут name все еще рулит и классно индексируется поисковиками:
Якорь «name» не красится в HTML, тогда как открываемый якорь «id» возможно видоизменить, используя псевдокласс CSS «target».
Ссылка на якорь
Ссылка на якорь ничем не отличается от обычной, с той только разницей, что к адресу веб-документа добавляется через решётку # имя якоря, без пробелов. Подобно сородичам, ссылка на якорь бывает абсолютной и относительной. Абсолютная ссылка работает всегда и везде, относительная – в пределах родного сайта или веб-страницы, в зависимости от указанного пути.
Ссылка на якорь и SEO
Абсолютные ссылки предназначены для якорей, расположенных на других веб-ресурсах – страницах, сайтах, доменах. Переход на якорь по абсолютной ссылке в пределах одной страницы всегда происходит с ее перезагрузкой в браузере. За сим – абсолютная ссылка на якорь в пределах одной страницы уже не приветствуется в условиях массовой экономии трафика. Одно время, абсолютные ссылки в пределах страницы и домена засчитывались поисковиками при наращивании ссылочной массы. Сии веселые времена давно канули в лету. Поисковики не индексируют ссылки на якоря в пределах страницы или домена. Разве что, случайно.
Is there a way to bookmark or link to a section of a page without an anchor?
Is there a way to bookmark or link to an HTML page (which I am not author of) without having an anchor in the HTML code?
I want the page to get scrolled down to a particular section when accessed from a bookmark or hyperlink even if there is no anchor tag in the destination page.
Note: the destination page has an anchor tag as "foo" then bookmarking like http:/. hello.html#foo will not only take the user to hello.html, but also automatically scroll down to the section of the page so that the anchor tag "foo" is at the top of the screen.
![]()
![]()
9 Answers 9
It’s the year 2020, there is a draft by WICG for Text Fragments, and now you can link to text on a page as if you were searching for it by adding the following to the hash
:text=<Text To Link to>
Working example on Chrome Version 81.0.4044.138 :
Click on this link Should take you to another answer page and highlight the link there
You only need to have the appropriate id attribute on an element to use it like a bookmark.
Older specifications also allowed navigation based on the name attribute, but this attribute has been removed from the latest HTML specifications (but if there is a name attribute it may be used in the same way as an id attribute).
If there is no id or name attribute where you wish to navigate to, there is no way of navigating to the specific point within the page, only to the page itself. In this case you may want to quote the pertinent information and supply a citation with a link or perhaps ask the author if they would add an id .
![]()
This is a copy of @AbderrahmaneTAHRIJOUTI’s answer but updated with some extra info.
It’s the year 2020, and now there is a draft by WICG for Text Fragments, and now you can link to text on a page as if you were searching for it by adding the percent-encoded quote to the URL like this:
For example, this link highlights the syntax from the spec.
One can also highlight multiple sections as well by chaining query parameters with ampersand ( & ):
Even ranges can be set in case of a longer quote (at least in Chrome):