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

12-колоночная grid-раскладка CSS

Среди способов организации содержимого веб-страницы 12-колоночная сетка выделяется тем, что она одновременно распространённая и гибкая, особенно для адаптивного дизайна.

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


Преимущества 12-колоночной сетки

  • Гибкость: Число 12 легко делится, поэтому возможны половины (2 колонки по 6), трети (3 колонки по 4) и четверти (4 колонки по 3).
  • Адаптивность: С медиазапросами эта сетка подходит для адаптивных сайтов, позволяя им подстраиваться под размеры экранов настольных компьютеров, планшетов или мобильных устройств.
  • Эффективность: Работа над дизайном идёт быстрее, когда структура сетки уже определена.

Шаги ниже создают базовую CSS Grid-раскладку на 12 колонок:


Определите Grid-контейнер

Grid-контейнеру нужно display: grid;.


Создайте 12 колонок

12 колонок определяются через свойство grid-template-columns.

Запись repeat(12, [col-start] 1fr); даёт 12 колонок равной ширины, а начальная линия каждого трека колонки получает имя col-start. По частям:

  • repeat(12, ..) — выполняет определение трека 12 раз, создавая 12 колонок.
  • [col-start] — задаёт имя линии сетки. Повторение даёт 12 линий с именем col-start, что помогает, когда grid-элементы должны начинаться в конкретных точках.
  • 1fr — дробная единица, равная одной доле всего доступного пространства. Поэтому все 12 колонок получают равную, гибкую ширину.

Разместите Grid-элементы

Размещайте grid-элементы по 12 колонкам и задавайте их размер с помощью grid-column.

  • Для элемента, занимающего определённое количество колонок, напишите grid-column: span <number>; или grid-column: <start-line> / span <number>;.
  • Чтобы точно указать, на каких линиях сетки элемент начинается и заканчивается, напишите grid-column: <start-line> / <end-line>;.

Используйте медиазапросы для добавления точек перелома

Всегда начинайте с мобильных устройств: при ширине менее 576 пикселей секции идут в порядке исходного кода, друг над другом, первая сверху.

При ширине от 576 до 767 пикселей раскладка состоит из двух колонок.

При ширине более 767 пикселей — из трёх.

Пример

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

Prompt
Создайте адаптивную 12-колоночную CSS Grid-раскладку с заголовком, навигацией, областью содержимого, боковой панелью, секцией рекламы и футером. Используйте именованные линии сетки с repeat(12, [col-start] 1fr). Примените дизайн "сначала мобильные": по умолчанию все секции располагаются вертикально друг под другом, переключение на двухколоночную раскладку при 576px и на трёхколоночную раскладку при 768px. Оформите каждую секцию зелёной рамкой и бежевым фоном.
Output: complete HTML page