CSS Бесплатно, без регистрации

Генератор и песочница Flexbox

Меняйте flex-свойства контейнера и выбранного элемента — результат сразу виден в предпросмотре, а ниже обновляется готовый CSS-код.

Результат
Готовый CSS-код
.container {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 8px;
}

Как пользоваться

  1. В блоке «Контейнер» выберите flex-direction, flex-wrap, justify-content, align-items, align-content и gap. Количество элементов меняется кнопками «−» и «+» от 1 до 8.
  2. Кликните по любому элементу в предпросмотре (или выберите его клавишами Tab и Enter) — откроются поля flex-grow, flex-shrink, flex-basis, align-self и order для этого элемента.
  3. Следите за осями: justify-content работает вдоль главной оси, а align-items — вдоль поперечной; flex-direction меняет направление осей.
  4. Нажмите «Копировать». В коде будет правило .container и правила .item:nth-child(N) только для тех элементов, у которых есть нестандартные значения.

Как это работает

Контейнер и элементы

Элемент с display: flex становится flex-контейнером, а его прямые потомки — flex-элементами. Общие правила задаёт контейнер (flex-direction, justify-content, align-items, gap), а поведением каждого элемента управляют его собственные свойства (flex-grow, flex-basis, align-self, order).

.container {
  display: flex;
  gap: 8px;
}

Главная и поперечная оси

При flex-direction: row главная ось идёт слева направо, а поперечная — сверху вниз; при column оси меняются местами. justify-content распределяет элементы вдоль главной оси (flex-start, center, space-between, space-evenly), а align-items выравнивает их вдоль поперечной. Значение align-items по умолчанию — stretch: элементы растягиваются на всю высоту (или ширину) контейнера по поперечной оси.

.container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

flex-grow, flex-shrink и flex-basis

flex-basis — стартовый размер элемента (при auto берётся width или размер по содержимому). Если в контейнере остаётся свободное место, flex-grow делит его между элементами пропорционально; если места не хватает, flex-shrink сжимает элементы. Элемент с flex-grow: 0 не занимает свободное место, а с flex-shrink: 0 — не сжимается.

.item {
  flex: 1 1 200px; /* grow shrink basis */
}

flex-wrap, gap и align-content

По умолчанию flex-wrap: nowrap держит все элементы в одной строке и при нехватке места сжимает их. Со значением wrap элементы переносятся на новые строки. Когда строк несколько, align-content решает, как эти строки распределяются внутри контейнера; в однострочном контейнере он ни на что не влияет. Для промежутков между элементами используйте gap вместо margin — по краям не остаётся лишних отступов.

align-self и order

align-self меняет выравнивание по поперечной оси только у одного элемента, не затрагивая остальные. order переставляет элементы визуально, не меняя HTML (по умолчанию 0, меньшее значение идёт раньше). Помните: order влияет только на внешний вид, а порядок Tab и чтение скринридером остаются по HTML.

.item:nth-child(2) {
  align-self: flex-end;
  order: -1;
}

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

Чем justify-content отличается от align-items?

justify-content распределяет элементы вдоль главной оси, а align-items выравнивает их вдоль поперечной. При flex-direction: column оси меняются, поэтому justify-content начинает работать по вертикали, а align-items — по горизонтали.

Почему не работает align-content?

align-content действует только когда элементы разбиты на несколько строк: нужен flex-wrap: wrap, и в контейнере должно оставаться свободное место сверх высоты строк (например, задана высота). В однострочном контейнере используйте align-items.

Что значит `flex: 1`?

Запись flex: 1 равна flex: 1 1 0%: элемент делит свободное место, может сжиматься, а его стартовый размер равен нулю. Если задать flex: 1 нескольким элементам, они поделят свободное место поровну.

Работает ли gap во flexbox во всех браузерах?

Да, gap для flexbox поддерживается во всех современных браузерах (в Safari — с версии 14.1). Если старые браузеры вам не нужны, хитрости с margin для промежутков больше не требуются.

Эта тема в курсе HTML и CSS

Другие CSS-инструменты

Генератор CSS-градиента Linear, radial и conic градиенты: выберите цвета, угол и точки — скопируйте готовый код. Генератор CSS Grid Задайте колонки и строки, отступы и выравнивание — скопируйте готовый код сетки. Генератор CSS box-shadow Тени для блоков: смещение, размытие, цвет и слои — скопируйте готовый код box-shadow. Генератор cubic-bezier Перетащите точки кривой easing и скопируйте готовый CSS-код transition. Генератор SVG-анимации Выберите фигуру и эффект — получите SVG и CSS keyframes для вставки на страницу. Калькулятор специфичности CSS Впишите селекторы — увидите вес (a,b,c), цветной разбор и то, какое правило победит. Визуализатор блочной модели CSS Content, padding, border и margin в виде схемы как в DevTools — и готовый CSS-код. Генератор CSS transform Сдвиг, поворот, масштаб и наклон элемента с исходной позицией на превью — и готовый код. Калькулятор CSS clamp() Введите мин. и макс. размер шрифта и ширину экрана — получите готовый clamp() для плавной типографики. Проверка контраста цветов (WCAG) Проверьте контраст текста и фона по WCAG AA и AAA и исправьте неподходящую пару цветов. Генератор CSS clip-path Полигоны, срезанные углы, стрелки и круги: перетаскивайте точки на превью и копируйте готовый CSS. Генератор CSS Glassmorphism Эффект матового стекла: backdrop-filter blur, насыщенность, световая грань и готовый CSS. Генератор CSS border-radius (Blob) Органические формы и 8-значный border-radius: настраивайте горизонтальные и вертикальные радиусы. Визуализатор CSS Stacking Context и z-index Почему z-index: 9999 не работает? Наглядный 3D-разбор контекстов наложения, opacity, transform и isolation. Генератор CSS aspect-ratio и object-fit Конец сплющенным картинкам и прыжкам верстки (CLS): подбор пропорций aspect-ratio и точка фокуса object-fit. Студия CSS-фильтров Фотоэффекты без графических редакторов: blur, contrast, hue-rotate, sepia и трендовые Instagram-пресеты. Генератор OKLCH и палитр CSS Color 4 Идеально равномерная яркость для глаз и сочные цвета Display P3: подбор OKLCH, шкалы дизайн-систем и конвертация. Генератор CSS Scroll-driven Animations Анимации при скролле без JavaScript: свойства animation-timeline scroll() и view(), полоса чтения и плавное появление карточек. Генератор CSS Container Queries (@container) Конец привязке к экрану: компонент адаптируется к ширине своего родителя. Ресайз контейнера и правила @container вживую.
WhatsApp