Перейти к содержанию

Законченная страница нового урока

В основной части серии мы последовательно изменяли одну страницу. Теперь нужно убедиться, что решения образуют систему, а не набор независимых удачных фрагментов. Законченная статья должна сохранять иерархию, ритм и навигацию при настоящем содержании, а её устройство должно быть понятно следующему автору.

В этом уроке вы получите итоговый снимок основной версии reading-lab. Он объединяет базовую разметку и дополнения первых пятнадцати глав. Новые глубокие функции пока не добавляем: завершение основной части означает согласование уже выбранных решений.

Что входит в законченный образец

Основная страница состоит из общей оболочки, информационной шапки, объяснения, нескольких сложных объектов и областей продолжения. Каждый элемент имеет назначение. Название сообщает тему, вводный текст — результат, оглавление — структуру. Код сохраняет строки, таблица — связь колонок, иллюстрация — подпись и место для собственного ресурса.

В полном lesson-16.html оглавление перемещено перед статьёй в документе, как задано в десятом уроке. На широком экране именованные области сетки ставят его справа. Группа документов из тринадцатого урока добавлена перед нижними переходами. Остальное содержание и идентификаторы build, addresses и comparison сохраняются.

Снимок находится в учебной папке серии вместе с base.css и дополнениями. Он не является новым опубликованным маршрутом ProfessorWeb и не заменяет старый урок LINQ. Такая граница позволяет обсуждать оформление независимо от действующей библиотеки. Совместимость со старой разметкой появится в отдельной главе.

Не требуется, чтобы каждая будущая статья содержала все компоненты снимка. Короткий урок может обходиться без таблицы и иллюстрации. Главное — чтобы используемые блоки следовали одному договору, а отсутствующие не оставляли пустых заголовков. Полнота образца показывает возможности системы, а не обязательную квоту объектов на странице.

Явный порядок дополнений

Основной снимок подключает стили в порядке уроков. Это делает изменения прослеживаемыми и позволяет сопоставить объяснение с соответствующим файлом. Ниже показана полная последовательность подключений вместо единственного исходного link:

<link rel="stylesheet" href="base.css">
<link rel="stylesheet" href="lesson-02.css">
<link rel="stylesheet" href="lesson-03.css">
<link rel="stylesheet" href="lesson-04.css">
<link rel="stylesheet" href="lesson-05.css">
<link rel="stylesheet" href="lesson-06.css">
<link rel="stylesheet" href="lesson-07.css">
<link rel="stylesheet" href="lesson-08.css">
<link rel="stylesheet" href="lesson-09.css">
<link rel="stylesheet" href="lesson-10.css">
<link rel="stylesheet" href="lesson-11.css">
<link rel="stylesheet" href="lesson-12.css">
<link rel="stylesheet" href="lesson-13.css">
<link rel="stylesheet" href="lesson-14.css">
<link rel="stylesheet" href="lesson-15.css">
<link rel="stylesheet" href="lesson-16.css">

Такое количество файлов удобно для учебного сопоставления, но не предлагается как окончательная стратегия загрузки большого сайта. При будущей интеграции правила можно собрать в один согласованный файл, сохранив порядок и ограничения селекторов. Дизайн-система и история обучения имеют разные задачи, поэтому их представления могут различаться.

Если подключить часть файлов в обратном порядке, позднее правило способно вернуть прежний размер или расположение. Поэтому важно знать не только список свойств, но и зависимость состояний. Углублённые главы будут брать именно итог шестнадцатой, а не произвольную смесь промежуточных вариантов.

Не переносите эти подключения в действующий шаблон ProfessorWeb автоматически. Там уже есть общая оболочка и собственные стили. Учебный стенд помогает сформулировать решение, которое затем нужно отдельно согласовать с настоящими компонентами сайта. Копирование всех правил без разбора создаст два конкурирующих источника оформления.

Последнее композиционное уточнение

Создайте полный файл lesson-16.css:

.reading-lab .lab-header { padding-block: 1rem; }
.reading-lab .lab-heading { margin-block-start: .5rem; }
.reading-lab .lab-footer p { max-width: var(--lab-page-width); margin: 0 auto; color: var(--lab-muted); font-size: .875rem; }
.reading-lab .lab-related { max-width: var(--lab-reading-width); }
.reading-lab .lab-pager, .reading-lab .lab-sources { max-width: var(--lab-reading-width); }

Здесь нет нового основного механизма. Дополнение согласует нижние области с шириной чтения и уточняет внешний ритм. Ожидается, что окончание урока принадлежит той же статье, а не растягивается в независимую широкую панель. Связанные материалы сохраняют собственную поверхность, но получают общий размер.

Обратите внимание на футер: его текст ограничен общей шириной оболочки, а не шириной прозаического абзаца. Футер относится ко всему сайту и может иметь другое устройство, чем содержание статьи. В самостоятельном макете он короткий, но граница ролей остаётся понятной.

У шапки статьи удаляется часть верхнего поля, поскольку перед ней уже есть общая навигационная область. Это небольшое согласование расстояний, а не ручное смещение вверх через отрицательный отступ. После изменения длины хлебных крошек высота потока может вырасти естественно.

Читаем итог как один урок

Начните со смысла, а не с поиска ошибок CSS. Название, введение и первый раздел должны складываться в начало объяснения. Далее технический блок должен появляться после причины, а разбор — оставаться рядом с ним. Даже отличная типографика не исправляет перепутанную преподавательскую последовательность.

Затем просмотрите разные формы содержания. У таблицы видны название и колонки. У изображения или прототипа есть подпись. Заметка отделяет самостоятельное условие. Оглавление использует те же названия разделов. Эти связи показывают, что компонент оформляет смысл, а не просто занимает прямоугольник.

Нижняя часть завершает маршрут. Источники помогают уточнить сказанное, переходы продолжают выбранную тему, связанные материалы предлагают другой пример. Не нужно добавлять общий рекламный баннер между последним абзацем и навигацией, если он не относится к задаче читателя. Такой элемент потребует самостоятельного решения о приоритетах.

Особое внимание уделите данным. В снимке нет выдуманной даты обновления, количества просмотров или авторского аватара. Отсутствие этих украшений не делает статью незаконченной. Её завершённость определяется ясностью объяснения и доступностью следующего действия, а не заполнением каждого участка служебными цифрами.

У итогового образца полезно сохранить короткое описание происхождения. Оно объясняет, что разметка предоставлена для изучения оформления, а медиа представлены прототипами. Если позже вы замените их собственными ресурсами, обновите описание вместе с содержанием. Так следующий участник проекта не примет условную область за реальный результат прошлого этапа.

Сам снимок также не должен содержать невидимые обязательные зависимости. Все подключаемые CSS дополнения находятся рядом, а основной текст доступен без внешней библиотеки. Это помогает разбирать выбранные правила независимо от окружения настоящего сайта. Новые ресурсные варианты будут названы отдельно, чтобы завершённая основа не зависела от отсутствующего видео или файла шрифта.

Основа для следующих материалов

Выберите другой короткий текст и замените только содержание lab-prose, сохранив структуру страницы. Если он не содержит таблицы, удалите её целиком вместе с подписью; не оставляйте пустое место. Если заголовок длиннее, дайте ему перенестись. Такой вариант показывает, умеет ли система обслуживать материал, отличающийся от первого образца.

Для отдельного старого урока пока не меняйте исходник. Зафиксируйте, какие legacy-обёртки соответствуют новым ролям. Например, shortcode относится к листингу, а imgcontent — к области изображения. Сопоставление пригодится в главе совместимости, где рассмотрим ограниченный адаптер вместо переписывания всех материалов.

Основной результат — полный учебный снимок и понятные границы компонентов. Его внешний вид и поведение ещё требуют конкретного будущего просмотра; ожидаемые эффекты в тексте не являются отчётом испытаний. Углублённая часть начнётся с загрузки шрифтов, а затем рассмотрит печать, ресурсы, темы и применение системы к библиотеке.