CSS: поток, размеры, позиционирование
Цель: изучить блочную модель, нормальный поток в CSS, принципы позиционирования элементов.
Порядок выполнения лабораторной работы:
-
Изучить следующие темы:
- Блочная модель;
- Размеры элемента, отступы, поля, границы;
- Переполнение;
- Поток документа;
- Позиционирование элементов (static, relative, absolute, fixed);
- Слои (z-index);
Статья по основам блочной модели
- Для выполнения работы необходимо в style.css из предыдущей работы:
- Для всех элементов задать расчет размеров через
box-sizing: border-box;
. Пример кода ниже. Проверяйте есть ли это в reseter.css или normalize.css; - Задать размеры для элементов (
max-height
,max-width
,min-height
,min-width
,width
,height
) Высоту для элементов задавайте только если вы уверены зачем это необходимо; - Начать расставлять
padding
,margin
для элементов идущих в нормальном потоке. - Использовать подходящее позиционирование (
relative
,absolute
илиfixed
) для случаев когда один элемент находится поверх другого и при необходимости использоватьz-index
.
- Для всех элементов задать расчет размеров через
- Для хедера, футера и секций создайте обертку, которая ограничивает максимальную ширину, выстраивает контент по центру и не позволяет контенту прижиматься к краям экрана.
- Убедиться в том, что нигде нет переполнений.
- Зафиксировать результаты работы с помощью системы контроля версий git и отправить репозиторий на github.
- Загрузить проект на хостинг.
Требования к html и css:
- Код html и css отформатирован;
- Корректное использование тегов;
- Корректное использование селекторов и свойств в css;
- Отсутствие ошибок на валидаторе для html и css.
Результаты выполнения лабораторной работы:
Результаты работы проверены наставником.
Статическая веб-страница на хостинге, со структурой и оформлением, которая соответствует требованиям и сохранена в системе контроля версий.
Материалы
- Блочная модель - mdn
- Блочная модель - doka.guide
- Свойства блочной модели - mdn
- Введение в CSS вёрстку
- Основы CSS
- MDN CSS
Дополнительные источники
Codepens
Вопросы для защиты
- В чем суть блочной модели?
- Как рассчитываются размеры элементов?
- Как задатать
box-sizing
для всех элементов? - Чем отличаются строчные элементы от блочных?
- В чем особенности блочных элементов?
- В чем особенности строчных элементов?
- Как лучше задавать размеры элементам?
- Что такое переполнение и как оно возникает?
- Что такое поток документа?
- Какие есть особенности поведения margin?
- Когда использовать
margin
, а когдаpadding
? - Как работает обертка для ограничения ширины и центрирования контента?
- Для чего нужно свойство position?
- Чем отличаются разные варианты позиционирования?