Ссылки и Навигация

С возвращением.
В предыдущем уроке ты научился организовывать контент с помощью списков.
Теперь мы соединим страницы между собой.
Потому что одна HTML-страница — это хорошо.
А много соединённых HTML-страниц — это уже сайт.
И именно тогда всё начинает выглядеть по-настоящему.
Одинокая страница — это записка на холодильнике.
Соединённые страницы — это маленький цифровой город.
С меньшим количеством голубей.
Надеемся.
Что Ты Изучишь
В этом уроке ты узнаешь:
- как работают ссылки в HTML;
- как использовать тег
a; - что делает
href; - разницу между relative и absolute links;
- как ссылаться на другую страницу;
- как ссылаться на внешние сайты;
- как открывать ссылки в новой вкладке;
- как создавать email links;
- как построить простую навигацию.
Элемент a
Ссылки создаются с помощью элемента a.
Пример:
<a href="about.html">Обо Мне</a>
Текст между открывающим и закрывающим тегами будет кликабельным.
Атрибут href говорит браузеру, куда должна вести ссылка.
То есть это:
<a href="about.html">Обо Мне</a>
означает:
Покажи текст “Обо Мне” и отправь пользователя на
about.html, когда он кликнет.
Просто.
Мощно.
Слегка магично.
Ссылка на Другую Страницу
Создай два файла:
touch index.html about.html
В index.html напиши:
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Главная Страница</title>
</head>
<body>
<h1>Главная Страница</h1>
<p>Добро пожаловать на мой сайт.</p>
<a href="about.html">Перейти на Страницу Обо Мне</a>
</body>
</html>
В about.html напиши:
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Обо Мне</title>
</head>
<body>
<h1>Обо Мне</h1>
<p>Это страница обо мне.</p>
<a href="index.html">Назад на Главную</a>
</body>
</html>
Открой index.html в браузере и кликни ссылку.
Поздравляю.
Ты соединил две страницы.
Сайт начал дышать.
Очень тихо.
Но всё же.
Relative Links
Relative link указывает на файл в зависимости от места, где находится текущий файл.
Пример:
<a href="about.html">Обо Мне</a>
Это означает:
Ищи
about.htmlв той же папке.
Relative links отлично подходят для страниц твоего сайта.
Пример структуры:
project/
index.html
about.html
contact.html
Из index.html можно сослаться на contact.html так:
<a href="contact.html">Контакт</a>
Не нужно писать полный интернет-адрес.
Браузер понимает путь.
Браузеры умнее, чем выглядят.
Иногда.
Ссылки на Файлы в Папках
Если файл находится в папке, путь меняется.
Пример:
project/
index.html
pages/
about.html
Из index.html ссылайся на pages/about.html так:
<a href="pages/about.html">Обо Мне</a>
Если ты внутри pages/about.html и хочешь вернуться к index.html, используй:
<a href="../index.html">Главная</a>
.. означает “подняться на одну папку выше”.
Это важно.
И опасно, если писать это полусонным.
Пути маленькие, но кусаются.
Absolute Links
Absolute link использует полный URL.
Пример:
<a href="https://www.mozilla.org">Mozilla</a>
Используй absolute links для внешних сайтов.
Примеры:
<a href="https://developer.mozilla.org">MDN Web Docs</a>
<a href="https://www.wikipedia.org">Wikipedia</a>
Absolute links обычно начинаются с:
https://
Если забыть https://, браузер может подумать, что это локальный файл.
И тогда путаница входит в комнату в сапогах.
Открыть Ссылку в Новой Вкладке
Чтобы открыть ссылку в новой вкладке, используй target="_blank":
<a href="https://developer.mozilla.org" target="_blank">Открыть MDN</a>
Для безопасности также добавь rel="noopener noreferrer":
<a href="https://developer.mozilla.org" target="_blank" rel="noopener noreferrer">
Открыть MDN
</a>
Это хорошая привычка для внешних ссылок, которые открываются в новой вкладке.
Да, выглядит длиннее.
Хорошие привычки часто выглядят длиннее.
Потом они спасают тебя позже.
Email Links
Можно создать ссылку, которая открывает email-приложение:
<a href="mailto:hello@example.com">Отправить Email</a>
Когда пользователь кликнет, может открыться его почтовый клиент.
Пример:
<a href="mailto:contact@example.com">Написать мне</a>
Можно также добавить тему:
<a href="mailto:contact@example.com?subject=Вопрос%20с%20Сайта">Задать Вопрос</a>
Пробелы в URL часто пишутся как %20.
Не красиво.
Но работает.
Как многие вещи в интернете.
Phone Links
Для телефонных номеров используй tel::
<a href="tel:+390000000000">Позвонить</a>
Это полезно на мобильных устройствах.
На desktop может ничего не сделать или открыть программу для звонков.
HTML старается.
Устройство решает.
Очень демократично.
Ссылка на Секцию на Той же Странице
Можно сослаться на секцию с помощью id.
Пример:
<a href="#contact">Перейти к Контакту</a>
<h2 id="contact">Контакт</h2>
<p>Можно связаться со мной через email.</p>
href="#contact" указывает на элемент с:
id="contact"
Это полезно для длинных страниц.
Например, документации.
Или меню ресторана, которое требует кардио.
Простая Навигация
Навигация обычно является группой ссылок.
Пример:
<nav>
<a href="index.html">Главная</a>
<a href="about.html">Обо Мне</a>
<a href="contact.html">Контакт</a>
</nav>
Элемент nav говорит браузеру:
Эта зона — навигация.
Это semantic HTML.
Он добавляет структуре значение.
А не просто кидает ссылки на страницу как носки на стул.
Навигация со Списком
Многие навигационные меню используют списки:
<nav>
<ul>
<li><a href="index.html">Главная</a></li>
<li><a href="about.html">Обо Мне</a></li>
<li><a href="contact.html">Контакт</a></li>
</ul>
</nav>
Это чистая структура.
Меню навигации — это список ссылок.
Поэтому список имеет смысл.
HTML любит, когда структура имеет смысл.
Он становится спокойнее.
Разработчики тоже.
Иногда.
Создай Страницу для Практики
Создай три файла:
touch index.html about.html contact.html
Используй эту навигацию в каждом файле:
<nav>
<ul>
<li><a href="index.html">Главная</a></li>
<li><a href="about.html">Обо Мне</a></li>
<li><a href="contact.html">Контакт</a></li>
</ul>
</nav>
Пример index.html:
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Главная</title>
</head>
<body>
<nav>
<ul>
<li><a href="index.html">Главная</a></li>
<li><a href="about.html">Обо Мне</a></li>
<li><a href="contact.html">Контакт</a></li>
</ul>
</nav>
<h1>Главная</h1>
<p>Добро пожаловать на мой маленький сайт.</p>
</body>
</html>
Теперь создай похожие страницы для about.html и contact.html.
Открой их в браузере и переходи между страницами.
Теперь у тебя есть маленький сайт.
Маленький.
Но настоящий.
Частые Ошибки
Забыть href
Это не полезная ссылка:
<a>Обо Мне</a>
Используй:
<a href="about.html">Обо Мне</a>
Без href нет направления.
Ссылка без href — как такси без колёс.
Неправильное Имя Файла
Если файл называется:
about.html
но ссылка говорит:
<a href="About.html">Обо Мне</a>
она может не работать на некоторых системах.
Имена файлов могут быть case-sensitive.
about.html и About.html могут быть разными.
Компьютеры могут быть очень строгими для машин, которые всё ещё просят нас доказать, что мы не роботы.
target blank без rel
Это работает:
<a href="https://example.com" target="_blank">Example</a>
Лучше:
<a href="https://example.com" target="_blank" rel="noopener noreferrer">Example</a>
Хорошие привычки сейчас.
Меньше боли потом.
Практика
Создай маленький сайт с:
index.html;about.html;contact.html;- навигационным меню на каждой странице;
- минимум одной внешней ссылкой;
- одной email link;
- одной ссылкой, которая открывается в новой вкладке;
- одной ссылкой на секцию на той же странице.
Без CSS.
Без JavaScript.
Только HTML links і navigation.
Сайт будет выглядеть просто.
Это нормально.
Сегодня мы строим связи.
Украшения придут позже.
Мини-Задание
Создай файл:
resources.html
Построй страницу ресурсов с:
- одним
h1; - абзацем, который объясняет страницу;
- навигационным меню;
- unordered list полезных сайтов;
- каждый сайт как ссылка;
- внешние ссылки открываются в новой вкладке;
- один email contact link;
- одна ссылка “Наверх” через
id.
Пример:
<a href="#top">Наверх</a>
и наверху:
<h1 id="top">Полезные Ресурсы</h1>
Маленькая функция.
Очень полезная.
Очень профессиональная.
Почти подозрительно.
Итог
Сегодня ты узнал, что:
- ссылки создаются элементом
a; hrefопределяет, куда ведёт ссылка;- relative links соединяют локальные страницы;
- absolute links ведут на полные внешние URLs;
target="_blank"открывает ссылку в новой вкладке;rel="noopener noreferrer"— хорошая привычка безопасности;mailto:создаёт email links;tel:создаёт phone links;idможно использовать для ссылок на секции;navпредставляет навигацию;- навигацию можно строить из ссылок или списков ссылок.
Ссылки превращают страницы в сайты.
Без ссылок страницы — острова.
Со ссылками они становятся картой.
Следующий Урок
В следующем уроке мы изучим изображения и медиа.
Потому что текст мощный.
Но иногда картинка спасает всех от чтения двенадцати абзацев про кота.