Блочная модель и поток
Цель: изучить блочную модель, нормальный поток в CSS, принципы позиционирования элементов.
Порядок выполнения лабораторной работы:
-
Изучить:
- Блочную модель;
- Размеры элемента, отступы, поля, границы;
- min(), max(), и clamp();
- Переполнение;
- Поток документа;
- Позиционирование элементов (static, relative, absolute, fixed);
- Слои (z-index).
-
Выполните следующие действия в style.css из второй работы:
- Задайте для всех элементов расчет размеров через
box-sizing: border-box;
. Пример кода ниже. Проверьте наличие этого свойства в reseter.css или normalize.css. - Создайте обертку для хедера, футера и секций, которая ограничивает максимальную ширину, выстраивает контент по центру (поможет margin) и не позволяет контенту прижиматься к краям экрана (padding).
- Задайте размеры для элементов (max-width, min-width, width, max-height, min-height, height). Работайте со свойством высоты только в крайнем случае. Используйте преимущественно относительные единицы измерения: %, em, rem.
- Примените функции min(), max(), и clamp() где это возможно.
- Задайте для элементов padding (внутренний) и margin (внешний). Проверьте корректность их использования.
- Проверьте отсутствие переполнений во всех элементах.
- Задайте для всех элементов расчет размеров через
-
Зафиксируйте результаты работы с помощью системы контроля версий git и отправить репозиторий на Github.
html {
box-sizing: border-box;
}
*, *:before, *:after {
box-sizing: inherit;
}
Для отладки переполнения используйте правило css, удалите или закомментируйте его перед сохранением работы:
* {
outline: 1px solid red;
}
Требования к коду:
- Отсутствие ошибок на валидаторе для html и css;
- Код отформатирован.
Результаты выполнения лабораторной работы:
Статическая веб-страница на хостинге, со структурой, которая соответствует требованиям и сохранена в системе контроля версий.
Дополнительные источники
Вопросы для защиты
- Блочная модель (“Коробочная” модель, box model), ее составляющие.
- Как рассчитываются размеры элементов?
- Отличия строчных, блочных и строчно-блочных элементов.
- Как лучше задавать размеры элементам?
- Переполнение и примеры его возникновения.
- Стандартный поток документа.
- Особенности внешних отступов (margin), внешние отступы для блочных и строчных элементов.
- Свойство position, его значения и применение.