Песочница CSS Flexbox
Интерактивная песочница CSS Flexbox с живым предпросмотром, индивидуальным управлением элементами, пресетами реальных макетов (Святой Грааль, сетка карточек, навигация, модальное окно) и экспортом CSS в один клик. Изучайте flex-direction, justify-content, align-items, gap и многое другое, экспериментируя в реальном времени.
Ваш блокировщик рекламы мешает показывать объявления
MiniWebtool бесплатен благодаря рекламе. Если этот инструмент помог, поддержите нас через Premium (без рекламы + быстрее) или добавьте MiniWebtool.com в исключения и обновите страницу.
- Или перейдите на Premium (без рекламы)
- Разрешите показ рекламы на MiniWebtool.com, затем перезагрузите страницу.
О Песочница CSS Flexbox
Песочница CSS Flexbox — это интерактивная среда обучения и генератор кода для современного модуля CSS Flexible Box Layout. Настраивайте свойства контейнера (flex-direction, justify-content, align-items, gap) и свойства отдельных элементов (flex-grow, flex-shrink, flex-basis, align-self, order) и наблюдайте за обновлением макета в реальном времени. Когда получите желаемый результат, просто скопируйте готовый CSS и HTML прямо в свой проект.
Что такое CSS Flexbox?
CSS Flexbox (Flexible Box Layout) — это одномерная модель макета, предназначенная для распределения пространства вдоль одной оси (строки или столбца) и выравнивания элементов внутри контейнера. Она заменяет старые методы, такие как float и хаки с inline-block, для создания навигационных панелей, рядов карточек, центрированного контента и любых интерфейсов, где элементы должны гибко подстраиваться под контейнер. В отличие от CSS Grid, который является двумерным, Flexbox отлично подходит для простых структур, где вы управляете выравниванием только в одном направлении за раз.
Как использовать эту песочницу
- Выберите пресет (необязательно): Выберите Holy Grail, Card Grid, Navbar, Hero, Modal или Sticky Footer, чтобы загрузить пример из реальной практики. Каждый пресет — это готовый рабочий макет, который можно изучать или изменять.
- Настройте свойства контейнера: Используйте переключатели в правой панели для установки
flex-direction,flex-wrap,justify-content,align-items,align-contentиgap. Визуальная сцена обновится мгновенно. - Редактируйте отдельные элементы: Нажмите на любой элемент в предпросмотре, чтобы выбрать его. Переопределите его
order,flex-grow,flex-shrink,flex-basisиalign-selfнезависимо от остальных. Элементы с переопределениями отмечены небольшим значком. - Добавляйте или удаляйте элементы: Используйте кнопки «Добавить элемент» и «Удалить выбранный», чтобы изменить количество элементов и увидеть реакцию макета.
- Скопируйте код: Раздел «Сгенерированный код» внизу всегда отражает ваш текущий макет. Копируйте CSS, HTML или оба сразу одним кликом.
Справочник свойств контейнера
Flex-контейнер — это родительский элемент с display: flex. Эти свойства определяют поведение всех его дочерних элементов вместе.
| Свойство | Значения | Эффект |
|---|---|---|
flex-direction |
row · row-reverse · column · column-reverse |
Задает направление главной оси. row располагает элементы слева направо (по умолчанию); column — вертикально. |
flex-wrap |
nowrap · wrap · wrap-reverse |
Определяет, остаются ли элементы в одной строке или переносятся на несколько строк при нехватке места. |
justify-content |
flex-start · center · flex-end · space-between · space-around · space-evenly |
Выравнивает элементы вдоль главной оси. Распределяет свободное пространство по краям или между элементами. |
align-items |
stretch · flex-start · center · flex-end · baseline |
Выравнивает элементы вдоль поперечной оси (перпендикулярно главной). |
align-content |
stretch · flex-start · center · flex-end · space-between · space-around |
Выравнивает перенесенные строки вдоль поперечной оси. Работает только при переносе элементов на несколько строк. |
gap |
длина, напр. 8px, 1rem |
Устанавливает расстояние между flex-элементами. Заменяет старый метод отступов через margin. |
Справочник свойств элементов
Эти свойства применяются к отдельным flex-элементам (дочерним элементам контейнера) и переопределяют настройки контейнера для конкретного элемента.
| Свойство | Значения | Эффект |
|---|---|---|
order |
целое число (по умолчанию 0) |
Изменяет визуальный порядок элементов без изменения HTML. Меньшие числа отображаются первыми; отрицательные значения перемещают элементы в начало. |
flex-grow |
число (по умолчанию 0) |
Определяет, какую часть свободного пространства контейнера должен занять этот элемент. 1 для каждого элемента распределит место поровну. |
flex-shrink |
число (по умолчанию 1) |
Определяет, насколько элемент может сжиматься при нехватке места. 0 означает запрет на сжатие — элемент сохраняет заданный размер. |
flex-basis |
auto · длина · проценты |
Задает начальный размер элемента до распределения свободного пространства. По сути, это «идеальный» размер элемента по главной оси. |
align-self |
auto · те же, что у align-items |
Переопределяет align-items контейнера для одного конкретного элемента. |
В чем разница между justify-content и align-items?
justify-content управляет выравниванием вдоль главной оси, а align-items — вдоль поперечной оси. Главная ось — это направление, заданное flex-direction: горизонтальное для row и вертикальное для column. При смене flex-direction с row на column оси меняются местами, поэтому justify-content начинает отвечать за вертикаль, а align-items — за горизонталь. Эта путаница — одна из самых частых ошибок при изучении Flexbox; индикаторы осей под предпросмотром в нашей песочнице помогут вам визуализировать этот процесс.
Как мне центрировать элемент с помощью Flexbox?
Для идеального центрирования одного элемента и по горизонтали, и по вертикали:
display: flex;justify-content: center; /* по горизонтали */align-items: center; /* по вертикали */
Это современная замена старым хакам с margin: auto, transform: translate(-50%, -50%) или position: absolute. Попробуйте это в песочнице, выбрав пресет Modal Center.
Объяснение реальных пресетов макетов
Holy Grail Layout (Святой Грааль)
Классический макет страницы из трех колонок: левая панель, основной контент, правая панель — с шапкой и подвалом. Раньше это было очень сложно реализовать на float; Flexbox делает это элементарным. Средняя колонка использует flex: 1, забирая все оставшееся горизонтальное пространство, пока боковые колонки сохраняют заданную ширину.
Card Grid (Сетка карточек)
Ряд карточек с переносом, которые переходят на новые строки при сужении экрана. Используется flex-wrap: wrap, а каждой карточке задано flex: 1 1 240px, что означает: карточка может расти и сжиматься, но никогда не станет уже 240px.
Navbar (Навигация)
Горизонтальная панель навигации с логотипом слева и ссылками справа. Секрет в justify-content: space-between с логотипом и группой ссылок как двумя дочерними элементами, плюс внутренний flex-контейнер для самих ссылок.
Hero Section (Главный блок)
Вертикальный стек с контентом, центрированным по горизонтали и вертикали — идеально для первого экрана лендинга. Использует flex-direction: column, justify-content: center и align-items: center в высоком контейнере.
Modal Center (Модальное окно)
Модальный диалог, идеально центрированный внутри оверлея. Используется тот же рецепт из трех строк центрирования, примененный к полноэкранному контейнеру оверлея.
Sticky Footer (Липкий подвал)
Подвал, который прижат к низу экрана при малом количестве контента, но отодвигается вниз, если контента много. Достигается установкой для body display: flex; flex-direction: column; min-height: 100vh, а для основного контента — flex: 1.
В чем разница между flex-grow, flex-shrink и flex-basis?
Эти три свойства (объединенные в сокращение flex) описывают, как элемент работает с пространством:
flex-basisзадает идеальный размер элемента до распределения свободного места. Думайте об этом как о «стартовой точке».flex-growговорит: «если есть лишнее место, возьми эту долю».0— не расти;1— расти пропорционально;2— взять в два раза больше, чем элемент с1.flex-shrinkговорит: «если места не хватает, сожмись на эту долю». По умолчанию1(пропорциональное сжатие);0— запрет на сжатие.
Запись flex: 1 разворачивается в flex: 1 1 0% — равный рост, равное сжатие, нулевой базис — элементы делят контейнер поровну независимо от контента. flex: auto разворачивается в flex: 1 1 auto, что учитывает размер контента как базу.
Когда использовать Flexbox, а когда Grid?
Используйте Flexbox для одномерных макетов, где элементы следуют в одном направлении — ряд кнопок, навигация, одна колонка карточек. Flexbox ориентирован на контент и отлично подходит, когда элементы должны сами определять свой размер.
Используйте CSS Grid для двумерных макетов, где нужно контролировать и строки, и столбцы одновременно — макеты страниц, галереи, дашборды. Grid ориентирован на структуру макета и позволяет размещать элементы в именованные области.
Они дополняют друг друга. Многие дизайны сочетают их: сетка страницы на Grid, внутри которой навигация и карточки на Flexbox.
Советы по освоению Flexbox
- Визуализируйте оси. Всегда знайте, какое направление «главное», а какое «поперечное» — индикаторы в песочнице наглядно это показывают.
- Используйте
gapвместо отступов. Современные браузеры полностью поддерживаютgapв flex-контейнерах, что избавляет от проблем с лишними margin у последнего элемента. - Используйте
flex: 1. Если нужно, чтобы элементы делили пространство поровну, это сокращение — почти всегда лучший выбор. min-width: 0для элементов. Элементы имеют неявную минимальную ширину по контенту. Если длинные неразрывные строки (например, URL) ломают макет, установитеmin-width: 0для элемента.- Избегайте ширин только в процентах. Смешивание процентов с
flex-growможет дать непредсказуемый результат. Предпочитайтеflex-basis.
Поддержка браузерами и совместимость
CSS Flexbox поддерживается всеми современными браузерами, включая Chrome, Firefox, Safari, Edge и все основные мобильные браузеры. Свойство gap для flex-контейнеров получило универсальную поддержку в 2021 году. Для устаревших браузеров (IE10/11) требуются вендорные префиксы; для работы с ними изучите ресурс flexbugs.
Часто задаваемые вопросы
Почему мой flex-элемент выходит за границы контейнера?
У flex-элементов есть неявное свойство min-width: auto, основанное на их контенте. Длинные слова или блоки кода могут сделать элемент шире контейнера. Исправьте это, задав элементу min-width: 0 (или min-height: 0 для вертикальных макетов).
В чем разница между space-between, space-around и space-evenly?
space-between не оставляет места по краям, распределяя его только между элементами. space-around добавляет половину отступа по краям и полные отступы между ними. space-evenly делает все отступы (и по краям, и между) абсолютно одинаковыми. Переключайте их в песочнице, чтобы увидеть разницу.
Можно ли анимировать свойства flex?
Да. flex-grow, flex-shrink, flex-basis, order и gap поддерживают переходы (transitions). Анимация flex-direction, justify-content и align-items не поддерживается, так как это дискретные свойства.
Работает ли песочница офлайн?
Все вычисления Flexbox происходят в вашем браузере с использованием нативного CSS. После загрузки страницы вы можете использовать песочницу без интернета — здесь нет API-запросов или серверных вычислений.
Готов ли сгенерированный код для продакшена?
Да. Экспортируемый CSS использует стандартные свойства, поддерживаемые всеми современными браузерами. HTML использует семантические имена классов (flex-container, flex-item), которые вы можете переименовать под свой проект.
Дополнительные ресурсы
- CSS Flexible Box Layout - MDN
- CSS Flexible Box Layout Module Level 1 - Спецификация W3C
- CSS Flex Box Layout - Википедия
Ссылайтесь на этот контент, страницу или инструмент так:
"Песочница CSS Flexbox" на сайте https://ru.miniWebtool.com/песочница-css-flexbox/ от MiniWebtool, https://MiniWebtool.com/
от команды miniwebtool. Обновлено: 25 апреля 2026 г.
Другие сопутствующие инструменты:
Инструменты для веб-мастеров:
- Калькулятор цены за клик
- Калькулятор цены за тысячу показов Рекомендуемое
- CSS компрессор
- Генератор фавикон Новый
- Калькулятор Google AdSense
- Генератор cron заданий Рекомендуемое
- Генератор выражений crontab Новый
- HTML компрессор
- Конвертер HTML в текст Рекомендуемое
- Проверка плотности ключевых слов Новый
- Генератор таблиц Markdown Рекомендуемое
- Генератор метатегов
- Удалитель умных кавычек Рекомендуемое
- Генератор slug для URL Рекомендуемое
- Калькулятор стоимости просмотра страницы
- Калькулятор ценности посетителей
- Калькулятор прав доступа Unix (chmod) Рекомендуемое
- Кодировщик и декодер HTML-сущностей Рекомендуемое
- Генератор Lorem Ipsum Новый
- Экранирование и снятие экранирования строк JSON Рекомендуемое
- Конвертер cURL в JSON Новый
- Форматировщик SQL Новый
- Оптимизатор SVG Новый
- Генератор редиректов .htaccess Новый
- Проверка размера сканирования Googlebot Новый
- Генератор robots.txt Новый
- Генератор XML-карты сайта Новый
- Проверка возраста домена Новый
- Проверка Open Graph Новый
- WHOIS поиск Новый
- DNS поиск Новый
- Проверка скорости страницы Новый
- Проверка доверия домена Новый
- Проверка редиректов Новый
- Генератор тегов Hreflang Новый
- Проверка битых ссылок Новый
- Песочница CSS Flexbox Новый