Генератор CSS Grid

Задайте количество колонок и строк, выделите ячейки для размещения элементов и скопируйте готовый CSS-код вместе с HTML в один клик.

Пресеты
Элементы
CSS
HTML
Проведите курсором по сетке, чтобы разместить элемент.

Ваша сетка создается прямо в вашем браузере. Никакие заданные вами параметры не отправляются на BroBroGo.

Частые вопросы

Как размещать элементы на сетке?

Зажмите кнопку мыши и проведите по ячейкам, чтобы выделить прямоугольную область — когда вы отпустите кнопку, она станет размещенным дочерним элементом, охватывающим эти колонки и строки. Каждому нарисованному элементу в CSS будут соответствовать свойства grid-column и grid-row, а в HTML — соответствующий тег div. Элементы могут перекрываться, при этом созданный позже элемент окажется сверху; для удаления элемента используйте иконку «×».

Могут ли колонки и строки быть разного размера?

Да. У каждой полосы (трека) есть свое поле размера, куда можно ввести любое валидное значение сетки — например, 1fr, 200px, auto, min-content или minmax(120px, 1fr). Треки с одинаковым размером автоматически группируются в функцию repeat(), чтобы код оставался лаконичным. Интервалы между колонками и строками настраиваются отдельно, но объединяются в одно свойство gap, если их значения совпадают.

Что делать со сгенерированным кодом?

Скопируйте сгенерированные CSS и HTML. HTML-код содержит контейнер с div-элементами для каждого блока, а CSS определяет структуру сетки и позиционирует каждый элемент. Вставьте оба фрагмента кода в свой проект, чтобы получить точно такой же макет, какой вы нарисовали здесь.

Принципы работы генератора CSS Grid

Инструмент «Генератор CSS Grid» позволяет визуально проектировать макеты веб-страниц, настраивая структуру колонок, строк и интервалов между ними. Процесс создания сетки происходит интерактивно: пользователь задает параметры сетки, после чего может зажать кнопку мыши и провести по ячейкам, чтобы выделить прямоугольную область. При отпускании кнопки мыши создается размещенный дочерний элемент, охватывающий выбранные колонки и строки.

Инструмент автоматически генерирует соответствующий CSS-код для контейнера и каждого размещенного элемента, а также HTML-код, содержащий контейнер и элементы div. Сгенерированный код можно скопировать для использования в собственном проекте.

Параметры настройки сетки и ограничения

Для построения сетки в интерфейсе предусмотрены следующие входные параметры:

  • Колонки: Числовое значение в диапазоне от 1 до 12.
  • Строки: Числовое значение в диапазоне от 1 до 12.
  • Интервал колонок: Значение от 0 до 48px.
  • Интервал строк: Значение от 0 до 48px.
  • Размеры колонок и Размеры строк: Любое валидное значение CSS Grid, например 1fr, 200px, auto, min-content или minmax(120px, 1fr).

При работе с генератором действуют определенные правила и ограничения:

  • Инструмент поддерживает размещение максимум 16 элементов.
  • Каждый нарисованный элемент получает индивидуальные правила grid-column и grid-row в CSS и соответствующий тег div в HTML.
  • Элементы могут перекрывать друг друга; при этом элемент, созданный позже, накладывается поверх предыдущих.
  • Удаление отдельного элемента выполняется нажатием на иконку «×» на самом элементе.
  • Кнопка «Очистить элементы» полностью освобождает HTML-контейнер, сбрасывая счетчик элементов до 0.
  • Кнопка «Добавить элемент» генерирует новый HTML-элемент.
  • Если в поле размера трека введено невалидное значение (например, not-a-grid-track), поле помечается как недействительное, однако в итоговом CSS-коде сохраняется последнее валидное значение.

Оптимизация и группировка CSS-кода

Генератор оптимизирует выводимый CSS-код для уменьшения его объема и улучшения читаемости:

  1. Использование функции repeat(): Если несколько последовательных колонок или строк имеют одинаковый размер, инструмент автоматически группирует их в конструкцию repeat() в выходном CSS. Например, вместо записи 1fr 1fr 1fr будет сгенерировано repeat(3, 1fr).
  2. Объединение интервалов: Параметры «Интервал колонок» и «Интервал строк» настраиваются независимо. Однако, если их значения совпадают, в результирующем CSS свойства column-gap и row-gap сворачиваются в одно универсальное свойство gap.

Использование готовых пресетов макетов

Для ускорения проектирования в инструменте предусмотрены готовые шаблоны:

  • Боковая панель: Макет с выделенной боковой колонкой для навигации или вспомогательного контента.
  • Шапка и подвал: Классическая структура сайта с верхним и нижним колонтитулами.
  • Галерея: Шаблон, который автоматически генерирует сетку из 3 колонок, 2 строк и размещает 3 элемента.
  • Панель управления: Сложная структура для размещения информационных блоков и виджетов.

Конфиденциальность и обработка данных

Проектирование сетки полностью безопасно с точки зрения конфиденциальности данных. Ваша сетка создается прямо в вашем браузере. Никакие заданные вами параметры не отправляются на сервер. Вся обработка введенных значений и генерация кода выполняются локально на стороне клиента.


Часто задаваемые вопросы

Как размещать элементы на сетке?
Зажмите кнопку мыши и проведите по ячейкам, чтобы выделить прямоугольную область — когда вы отпустите кнопку, она станет размещенным дочерним элементом, охватывающим эти колонки и строки. Каждому нарисованному элементу в CSS будут соответствовать свойства grid-column и grid-row, а в HTML — соответствующий тег div. Элементы могут перекрываться, при этом созданный позже элемент окажется сверху; для удаления элемента используйте иконку «×».

Могут ли колонки и строки быть разного размера?
Да. У каждой полосы (трека) есть свое поле размера, куда можно ввести любое валидное значение сетки — например, 1fr, 200px, auto, min-content или minmax(120px, 1fr). Треки с одинаковым размером автоматически группируются в функцию repeat(), чтобы код оставался лаконичным. Интервалы между колонками и строками настраиваются отдельно, но объединяются в одно свойство gap, если их значения совпадают.

Что делать со сгенерированным кодом?
Скопируйте сгенерированные CSS и HTML. HTML-код содержит контейнер с div-элементами для каждого блока, а CSS определяет структуру сетки и позиционирует каждый элемент. Вставьте оба фрагмента кода в свой проект, чтобы получить точно такой же макет, какой вы нарисовали здесь.