Перейти к основному содержимому

Макет сайта на CSS

Сайты обычно делятся на разделы: шапка, меню навигации, область основного содержимого и подвал.

Такая структура из шапки, навигации, содержимого и подвала — одна из самых распространённых, хотя существует и множество других вариантов макетов.


Шапка CSS

Шапка в большинстве случаев располагается в верхней части сайта и обычно содержит логотип или название сайта.

Пример

Prompt
Создайте страницу с элементом header, оформленным светло-серым фоном (#f1f1f1), текстом по центру и отступом 10px. Header должен содержать h1 с текстом "My Header".
Output: complete HTML page

Панель навигации CSS

Посетители ориентируются на вашем сайте с помощью панели навигации, которая содержит список ссылок.

Пример

Prompt
Создайте страницу с горизонтальной панелью навигации, используя неупорядоченный список с классом "topnav". Используйте flexbox для горизонтального отображения элементов. Панель навигации должна иметь тёмный фон (#333333) со ссылками светлого цвета (#f1f1f1), отступ 14px 16px, без подчёркивания и эффект наведения, который меняет фон на светло-серый (#dddddd), а текст на чёрный. Добавьте четыре ссылки: Link1, Link2, Link3, Link4.
Output: complete HTML page

Содержимое макета CSS

То, как отображается содержимое сайта, часто зависит от используемого устройства. Эти макеты самые распространённые:

  • Макет в 1 колонку - часто встречается в мобильных браузерах
  • Макет в 2 колонки - часто встречается на планшетах и ноутбуках
  • Макет в 3 колонки - только для настольных компьютеров

В примере ниже три колонки сворачиваются в одну, когда ширина экрана меньше 600px.

Совет: В главе Медиазапросы CSS правило CSS @media объясняется подробнее.

Совет: В главе CSS Flexbox CSS Flexbox объясняется подробнее.

Пример

Prompt
Создайте страницу с трёхколоночной раскладкой на основе flexbox. Каждая колонка должна содержать заголовок "Column" и абзац текста lorem ipsum. Используйте медиазапрос, чтобы при ширине экрана менее 600px колонки располагались друг под другом вертикально. Каждая колонка должна иметь отступ (margin) 10px.
Output: complete HTML page

Простой и фиксированный подвал CSS

Внизу веб-страницы находится подвал, который обычно содержит такие сведения, как авторские права и контактные данные.

Простой подвал

Простое оформление подвала выглядит так.

Prompt
Создайте страницу с некоторым содержимым и элементом футера внизу. Футер должен иметь светло-серый фон (#f1f1f1), выровненный по центру текст, отступ 8px и отображать текст "Footer".
Output: complete HTML page

Фиксированный подвал

Как бы далеко вы ни прокрутили страницу, фиксированный подвал остаётся видимым в её нижней части.

Prompt
Создайте страницу с достаточным количеством содержимого для прокрутки и фиксированным футером, который остаётся видимым внизу окна просмотра. Футер должен использовать position fixed, bottom 0, left 0, width 100%, светло-серый фон (#f1f1f1), отступ 8px, текст по центру и z-index 1000. Текст футера должен гласить "Fixed Footer".
Output: complete HTML page

Адаптивный сайт на CSS

В этом примере медиазапросы объединяются с flexbox, чтобы создать адаптивный сайт с гибкой панелью навигации и гибким содержимым.

Пример

Prompt
Создайте адаптивную раскладку сайта с заголовком, горизонтальной панелью навигации, которая становится вертикальной на маленьких экранах, областью содержимого на основе flex с боковой навигацией и основным разделом статьи, а также футером. Используйте медиазапросы, чтобы раскладка адаптировалась для экранов шириной менее 600px, располагая элементы вертикально друг под другом.
Output: complete HTML page