Генератор Grid-вёрстки
Интерактивный конструктор для макетов на основе двумерной сетки (CSS Grid Layout). Задавайте колонки и строки, растягивайте элементы на несколько ячеек, смотрите результат сразу и копируйте готовый CSS и HTML в свой проект.
Выберите способ построения: свойства CSS или именованные области. У каждого режима свой макет; переключение вкладок сохраняет введённые настройки до перезагрузки страницы.
Для вашего удобства рекомендую использовать полноэкранный режим.
Сохранение макета и отмена действий
- Отмена и повтор. Кнопки «Отменить» и «Повторить» возвращают предыдущие настройки. История хранит до 100 изменений отдельно для каждого режима до перезагрузки страницы.
- Клавиатура. Вне полей ввода работают Ctrl/⌘ + Zдля отмены и Ctrl/⌘ + Shift + Z для повтора. В полях — обычная отмена ввода.
- Ссылка на макет. Кнопка «Поделиться» сохраняет текущий макет выбранного режимав адресе: настройки контейнера, элементы и их стили. Настройки попадут в историю браузера и сообщения, где вы поделитесь ссылкой. При открытии ссылки восстанавливаются принятые настройки, без истории изменений и незавершённого ввода.
- Скачивание. Кнопка «Скачать HTML» сохраняет страницу с макетом. Используйте её и для больших макетов, если длина ссылки превышает ограничение.
Свойства Grid
Настройте колонки, строки, промежутки и расположение отдельных элементов. Начните с готового макета или задайте свои значения CSS.
Как пользоваться
- Выберите готовый макет: колонки, адаптивную галерею, макет страницы или мозаику.
- Свойства в блоке «Контейнер» применяются к
.container. Чтобы настроить элементы, выберите один из них или пункт «все элементы (.item)» в списке «Настраиваем». - Нажмите на элемент в превью или выберите его в списке «Настраиваем», чтобы задать ему позицию в сетке, например
grid-column: span 2. Такой элемент получит класс.item-Nи отметку пунктиром. - Меняйте ширину превью ползунком «Ширина превью», чтобы проверить адаптивные колонки с
auto-fill. - В текстовые поля можно вводить любые значения, которые поддерживает браузер:
fr,minmax(),repeat()и другие.
Цвета и отступы элементов превью — только оформление, в код они не входят.
.container {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 12px;
}
<div class="container">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
<div class="item">4</div>
<div class="item">5</div>
<div class="item">6</div>
</div>
Именованные области
Нарисуйте макет из прямоугольных областей: шапки, боковой колонки, содержимого и подвала. Каждая область получает имя и свой элемент с grid-area.
Как пользоваться
Выделите ячейки мышью, двумя нажатиями на начало и конец или сочетанием Shift со стрелками. Введите имя латиницей и нажмите «Назначить область». Каждая область должна быть цельным прямоугольником: при ошибке предыдущий макет сохраняется.
При уменьшении сетки крайние строки и колонки удаляются. CSS и HTML можно скопировать отдельно, а кнопка «Скачать HTML» сохраняет полную страницу с оформлением. Порядок элементов в HTML соответствует первому появлению областей в сетке; проверьте, что он подходит смыслу содержимого.
Настройте размер каждой колонки и строки отдельно: например, 240px для боковой колонки и 1fr для содержимого. При добавлении строк и колонок прежние размеры сохраняются, новые получают исходные значения. Некорректный ввод отмечается ошибкой; превью и экспорт используют последний принятый размер.
Выберите область в списке «Область целиком» или нажмите на неё в превью. Кнопка «Переименовать» меняет все её ячейки, CSS и HTML; «Удалить область» освобождает её ячейки. Нельзя переименовать область в уже занятое имя.
Размеры колонок и строк
Каждое поле задаёт один размер: например, 240px, 1fr, autoили minmax(0, 1fr). Результат виден в превью ниже; ячейки редактора остаются одинаковыми для удобства выделения.
Колонки
grid-template-columns
Строки
grid-template-rows
Как выделять и назначать области
Выделите прямоугольник перетягиванием мыши или двумя нажатиями: начало и конец. С клавиатуры используйте стрелки, Shift + стрелки для расширения выделения. Затем задайте имя области.
Шаблон задаётся через
grid-template-areas
, привязка элемента к области — через
grid-area
.
Как устроены области
Одной области соответствует один элемент с классом .area-имя. Повторное имя объединяет ячейки, если они образуют прямоугольник. Точка обозначает пустую ячейку.
Предпросмотр областей
Нажмите на область в превью или выберите её в списке, чтобы выделить целиком, переименовать или удалить. Если заданные размеры шире окна, прокрутите превью.
.container {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
grid-template-rows: repeat(3, minmax(80px, auto));
gap: 12px;
grid-template-areas:
"header header header"
"sidebar main main"
"footer footer footer";
}
.area-header { grid-area: header; }
.area-sidebar { grid-area: sidebar; }
.area-main { grid-area: main; }
.area-footer { grid-area: footer; }<div class="container">
<div class="area-header">header</div>
<div class="area-sidebar">sidebar</div>
<div class="area-main">main</div>
<div class="area-footer">footer</div>
</div>Свойства в справочнике
- Размеры колонок и строк:
grid-template-columns,grid-template-rows,gap. - Автоматическое размещение:
grid-auto-flow,grid-auto-rows. - Именованные области:
grid-template-areas,grid-area. Размещение по линиям:grid-column,grid-row. - Выравнивание всей сетки:
justify-content,align-content; свободное место по высоте —min-height. - Выравнивание элементов внутри ячеек:
justify-items,align-items,justify-self,align-self. Визуальный порядок —order. - Сокращённые свойства:
grid,grid-template.