11 класс · 40 минут · HTML + CSS
Цели: сравнить три способа подключения CSS (11.5.3.5) и применить CSS при оформлении сайта (11.5.3.6).
Результат: три связанные страницы с единым оформлением, отдельным стилем страницы Events и выделенным объявлением. Вы настроите отступы и границы семантических блоков и проверите расчёт их ширины.
Понадобятся браузер и редактор кода. Интернет и веб-сервер не нужны. Сначала распакуйте архив. Работайте в папке student (скачайте и разархивируйте файл).
План рассчитан на учащихся, уже знакомых с HTML. Чтобы уложиться в 40 минут, копируйте предложенные блоки CSS, затем выполняйте изменения и отвечайте на вопросы. Переписывать весь код вручную не требуется.
| Время | Действие |
|---|---|
| 0–4 | Открыть страницы и изучить структуру |
| 4–11 | Подключить внешний CSS к трём страницам |
| 11–20 | Оформить блоки и изменить отступы |
| 20–24 | Добавить внутренний CSS |
| 24–27 | Применить inline CSS |
| 27–35 | Выполнить опыт с Box Model |
| 35–40 | Проверить сайт и объяснить результат |
student/index.html в браузере и редакторе.| Элемент | Назначение в этом сайте |
|---|---|
| header | Название страницы и девиз |
| nav | Ссылки между страницами |
| main | Основное содержимое страницы |
| section | Тематическая группа материалов с заголовком |
| article | Самостоятельная карточка проекта или события |
| aside | Дополнительное объявление |
| footer | Информация внизу страницы |
Вопрос: обязательно ли aside должен находиться справа? Запишите предположение. Его смысл — дополнительное содержание; расположение задаётся CSS.
head вместо комментария STEP 2 вставьте:
<link rel="stylesheet" href="styles.css">
Откройте styles.css в той же папке. Добавьте следующий код, сохраните все файлы и обновите страницы.
/* 1. Page */
body {
margin: 0;
font-family: Arial, sans-serif;
line-height: 1.5;
background-color: #f2f6f5;
color: #243b35;
}
header {
padding: 24px;
background-color: #286d60;
color: white;
text-align: center;
}
nav {
padding: 12px;
background-color: #194b42;
text-align: center;
}
nav a {
display: inline-block;
margin: 4px;
padding: 8px 12px;
color: white;
border: 1px solid white;
border-radius: 6px;
text-decoration: none;
}
nav a:hover, nav a:focus-visible {
background-color: #347c6e;
}
Сделайте самостоятельно: замените background-color у header на #304f85. Обновите все три страницы и убедитесь, что изменились все шапки. Затем верните #286d60.
Запишите: сколько CSS-файлов пришлось изменить? Почему этот способ удобен для нескольких страниц?
В конец styles.css добавьте код. Он показывает границы вложенных блоков.
/* 2. Boxes */
main {
max-width: 900px;
margin: 20px auto;
padding: 16px;
border: 2px solid #286d60;
background-color: #e3eeeb;
}
section {
margin: 0 0 16px;
padding: 16px;
border: 2px solid #729e93;
background-color: white;
}
article {
margin: 12px 0;
padding: 12px;
border: 2px solid #c7dcd6;
background-color: #f4f8f7;
}
aside {
margin: 16px 0 0;
padding: 16px;
border: 2px dashed #aa7415;
background-color: #fff5d9;
}
footer {
margin-top: 24px;
padding: 16px;
border-top: 3px solid #286d60;
background-color: #dce9e5;
text-align: center;
}
Сделайте самостоятельно на странице Home:
article временно измените padding: 12px на padding: 24px. Где увеличилось расстояние?margin: 12px 0 на margin: 24px 0. Что изменилось теперь? Верните исходное значение.aside измените границу с dashed на solid, сравните и верните dashed.В записи margin: 12px 0 первое значение относится к верху и низу, второе — к левому и правому краям. Вертикальные margin соседних обычных блоков могут схлопываться: зазор не всегда равен их сумме.
Заполните: padding — расстояние между ______ и ______; margin — отступ ______ границы; border — ______.
Проверка: видны внешняя рамка main, рамка section, две карточки article и отдельное объявление aside. Header, nav и footer тоже имеют внутренние отступы. Не каждому блоку обязательно задавать все четыре свойства.
Только в events.html замените комментарий STEP 4 внутри head следующим кодом. Разместите его после подключения внешнего файла.
<style>
.event-highlight {
background-color: #fff0c2;
border: 2px solid #a76c10;
}
</style>
У первой карточки уже указан class="event-highlight". Обновите страницу: её фон и граница изменились, а другие карточки сохранили общее оформление.
Сделайте самостоятельно: измените цвет фона этой карточки на #ffe3c2, проверьте и верните исходный цвет.
Объясните: почему этот стиль не применяется на Home и Projects? Здесь класс .event-highlight специфичнее селектора article. Внутренний CSS не имеет безусловного приоритета над внешним только из-за способа подключения.
В events.html найдите абзац Registration closes on Friday. внутри aside. Замените его:
<p style="color: #9b241c; font-weight: bold;">
Registration closes on Friday.
</p>
Проверка: выделился только этот абзац. Заголовок Club notice не изменился.
Объясните: почему неудобно таким способом оформлять 20 одинаковых объявлений? Inline CSS здесь применяется для учебного сравнения. Для повторяющегося оформления используйте класс во внешнем файле.
На странице projects.html вторая карточка имеет class="box-lab". Добавьте в конец внешнего CSS:
/* 3. Box Model experiment */
.box-lab {
box-sizing: content-box;
width: 240px;
padding: 20px;
border: 4px solid #286d60;
margin: 16px;
}
content-box ширина 240 px относится только к содержимому. Вычислите ширину от внешнего края левой границы до внешнего края правой: 240 + 20 + 20 + 4 + 4 = ____ px.____ + 16 + 16 = ____ px. Это суммарная заданная ширина содержимого, padding, border и горизонтальных margin в данном опыте.box-sizing: content-box на box-sizing: border-box. Теперь 240 px включают содержимое, padding и border. Вычислите ширину содержимого: 240 − 20 − 20 − 4 − 4 = ____ px. Общая заданная ширина с margin: 240 + 16 + 16 = ____ px.border-box. Временно увеличьте padding до 30 px. Изменилась ли ширина по внешним краям границы? Что произошло с областью содержимого? Верните padding 20 px.Поясните партнёру: content → padding → border → margin. Фон элемента окрашивает область padding; margin остаётся снаружи его границы.
Упражнение выполняйте в обычном окне настольного браузера: фиксированная ширина этой карточки выбрана для расчёта. Здесь не требуется создавать адаптивную раскладку.
Проверьте работу в паре. На каждое утверждение покажите подтверждение в браузере или коде.
Сдайте: папку student с тремя HTML-файлами и styles.css; короткие ответы на вопросы шагов 2, 3, 4, 5 и расчёты шага 6 — в тетради или отдельном текстовом файле.
Выходной вопрос: необходимо поменять шрифт на всех страницах, фон одной карточки Events и цвет одного абзаца. Покажите, где в вашей работе находится каждое из этих правил.