🔒 Ты не вошёл(вошла) в аккаунт — прогресс, работы и результаты теста не сохраняются. Что недоступно?
✅ Без входа можно
- читать все 33 занятия, смотреть слайды и шпаргалку;
- пробовать код в редакторе и песочнице.
⛔ Без входа нельзя
- сохранять работы — черновик живёт только в этом браузере и пропадёт при очистке истории, в режиме инкогнито или на другом устройстве;
- отмечать пройденные занятия и видеть свой прогресс;
- выбрать тему итогового проекта и отмечать чек-лист;
- отправить итоговый тест и сохранить результат.
Многостраничность
Сегодня мы превратим одну страницу в настоящий сайт из трёх страниц с общим меню.
Изучаем: Ссылки между страницами, навигация
Результат: Создаём 3 связанные страницы
👀 Сегодня сделаем вот такое
Показать код примера
<!-- Так выглядит шапка на странице about.html -->
<header class="header">
<a class="logo" href="index.html">⭐ Мой сайт</a>
<nav class="menu">
<a href="index.html">Главная</a>
<a href="about.html" class="active">Обо мне</a>
<a href="gallery.html">Галерея</a>
</nav>
</header>
<main>
<h1>Обо мне</h1>
<p>На этой странице — рассказ о себе.</p>
</main>
body { margin: 0; font-family: sans-serif; }
.header {
display: flex; justify-content: space-between; align-items: center;
padding: 1rem 2rem; background: #0984e3;
}
.logo { color: white; font-weight: bold; text-decoration: none; }
.menu { display: flex; gap: .5rem; }
.menu a { color: white; text-decoration: none; padding: .4rem .8rem; border-radius: 6px; }
.menu a:hover { background: rgba(255,255,255,.2); }
.menu a.active { background: white; color: #0984e3; }
main { padding: 1rem 2rem; }
💡 Объяснение
Из страницы — в сайт
До сих пор мы делали одну страницу. Настоящий сайт состоит из нескольких страниц, связанных навигацией — общим меню. Технически это просто несколько HTML-файлов в одной папке, которые ссылаются друг на друга.
Структура папки сайта
my-site/
├── index.html ← главная страница
├── about.html ← «Обо мне»
├── gallery.html ← «Галерея»
├── css/
│ └── style.css ← один файл стилей для всех страниц
└── images/
├── logo.png
└── cat.jpg
index.html— главная. Её открывают первой.- Остальные страницы — рядом, в корне папки.
- Стили и картинки — в отдельных папках, чтобы был порядок.
Относительные пути
Путь в href или src отсчитывается от файла, в котором он написан:
about.html— файл в той же папке;css/style.css— зайти в папку css и взять файл;../index.html— выйти на одну папку вверх (две точки = «папка выше»);images/cat.jpg— картинка из папки images.
Важно: путь к картинке внутри CSS-файла (url(...)) считается от CSS-файла! Из css/style.css картинка будет url("../images/cat.jpg").
Общее меню на всех страницах
<header class="header">
<a class="logo" href="index.html">⭐ Мой сайт</a>
<nav class="menu">
<a href="index.html">Главная</a>
<a href="about.html">Обо мне</a>
<a href="gallery.html">Галерея</a>
</nav>
</header>
Шапка, меню и подвал одинаковые на всех страницах — посетитель не должен теряться. Меняется только содержимое main и title.
Логотип-ссылка на главную — традиция почти всех сайтов: люди привыкли нажимать на логотип, чтобы вернуться в начало.
Текущий пункт меню
Посетитель должен видеть, на какой странице находится. Для этого на каждой странице у «своего» пункта меню ставят класс:
<!-- в about.html -->
<a href="about.html" class="active">Обо мне</a>
.menu a.active {
background: white;
color: #0984e3;
}
Это единственное, что отличается в меню на разных страницах.
Один CSS на все страницы
В head каждой страницы подключаем один и тот же файл: <link rel="stylesheet" href="css/style.css">. Поменял цвет шапки в CSS — изменился на всём сайте. Это главное преимущество внешнего файла стилей.
Как быстро сделать новую страницу
- Сделай и отладь одну страницу полностью (например, index.html).
- В VS Code: правый клик по файлу → «Копировать» → «Вставить», переименуй копию в about.html.
- Поменяй
title, содержимоеmainи классactiveв меню. - Если добавил новую страницу — добавь ссылку на неё в меню всех страниц.
Правила имён
Имена файлов — латиницей, маленькими буквами, без пробелов: my-pets.html. Имя должно подсказывать, что внутри: contacts.html лучше, чем page3.html.
Проверка навигации
Пройди по всем страницам через меню: с каждой страницы на каждую и обратно. Если на какой-то ссылке появилась ошибка «Файл не найден» — проверь имя файла и путь буква в букву.
Частые ошибки
- Стили подключены только на главной — остальные страницы «голые».
- Неправильный путь к CSS:
style.cssвместоcss/style.css. - Меню обновили только на одной странице.
- Одинаковый
titleна всех страницах. - Пробелы или русские буквы в именах файлов.
Проверь себя
- Что означает
../в пути? - Что меняется в меню от страницы к странице?
- Почему все страницы подключают один CSS-файл?
⌨️ Практика
- В VS Code создай index.html, about.html и gallery.html.
- Сделай одинаковую шапку с меню на всех трёх страницах.
- Подключи один общий файл css/style.css.
- На каждой странице выдели текущий пункт меню классом active.
- Проверь, что по всем ссылкам можно перейти туда и обратно.
🧪 Редактор
🪞 Рефлексия
- Что нового я сегодня узнал(а)?
- Что получилось лучше всего?
- Где было трудно и что поможет в следующий раз?
🔒 Отметить занятие пройденным можно только после входа. Без аккаунта сайт не запомнит, до какого занятия ты дошёл(дошла). Регистрация · Вход