Генератор Flexbox
Flexbox раскладывает элементы вдоль одной оси, и почти вся путаница в нём — от того, какая ось считается главной. Инструмент показывает это наглядно: меняете направление, и подписи у выравнивания меняются местами, потому что justify-content всегда работает по главной оси, а align-items по поперечной. Настраиваются и контейнер, и отдельные элементы — можно задать разный grow и basis и посмотреть, как делится свободное место. Число блоков и их содержимое меняются, чтобы проверить поведение на реальных данных, а не на одинаковых квадратах. Готовый CSS собирается для контейнера и для тех элементов, у которых свойства отличаются от значений по умолчанию.
Предпросмотр
Контейнер
Выбранный элемент
Готовый CSS
Как пользоваться
- Строка или колонка. От него зависит, какая ось главная и что делает каждое выравнивание.
- justify-content распределяет по главной оси, align-items прижимает по поперечной.
- Клик по блоку открывает его свойства: grow, shrink, basis, order и своё выравнивание.
- Готовые правила для контейнера и для изменённых элементов.
Частые вопросы
Какая ось считается главной
Та, вдоль которой выстраиваются элементы, и задаёт её flex-direction. При row главная — горизонтальная, при column — вертикальная. Это ключ ко всему: justify-content работает по главной оси, align-items по перпендикулярной ей. Смените направление на column — и justify-content начнёт выравнивать по вертикали.
Чем отличаются grow, shrink и basis
basis — начальный размер элемента до распределения места. grow — доля свободного места, которую он заберёт, если место осталось. shrink — доля сжатия, если места не хватило. Значения по умолчанию 0, 1 и auto: элемент не растягивается, но сжимается. Короткая запись flex: 1 разворачивается в grow 1, shrink 1, basis 0%.
Почему элемент не сжимается меньше содержимого
Из-за min-width со значением auto, которое действует на flex-элементы по умолчанию. Длинное слово или широкая картинка не дают блоку стать уже. Лечится явным min-width: 0 на элементе — это самая частая причина, по которой flex-раскладка вылезает за экран.
Чем flexbox отличается от grid
Flexbox раскладывает по одной оси и хорош там, где число элементов заранее неизвестно: панель кнопок, шапка, список тегов. Grid работает по двум осям сразу и нужен, когда важно совпадение колонок между строками. Практическое правило: если вы думаете «в ряд» — flex, если «таблицей» — grid.
Что делает align-content
Распределяет строки между собой, когда включён перенос и строк больше одной. При одной строке свойство не действует вообще — это регулярный источник недоумения. Не путать с align-items, который выравнивает элементы внутри своей строки.
Как задать промежутки между элементами
Свойством gap, а не отступами у детей. Отступы приходится потом убирать у крайних элементов, а gap ставит промежутки только между ними. Поддерживается во всех актуальных браузерах с 2020 года и работает и в flex, и в grid.
Данные куда-то отправляются
Нет, всё собирается в браузере.
Похожие инструменты
Список в строку с разделителем и обратно. Переносы ↔ запятые/пробелы.
ОткрытьРазбить текст на частиДелит длинный текст на куски нужной длины: Telegram 4096, подпись 1024, ВК 4000, description 160, SMS 70. Не рвёт слова и предложения.
ОткрытьИзменить размер фотоПиксели вручную или готовый пресет: обложка ВК, превью YouTube, аватар, фото 3×4, печать 10×15. Пакетно, с обрезкой или полями.
ОткрытьТипографорКавычки-ёлочки «», дефис → тире, неразрывные пробелы после предлогов, чистка двойных пробелов. Аккуратная типографика для сайта.
ОткрытьГенератор sitemap.xmlСоберёт ссылки прямо с вашего сайта по адресу или сделает карту из готового списка URL. lastmod, changefreq, priority.
ОткрытьОбрезать строкиУдалить N символов с краёв, текст до/после символа, убрать приставку или окончание.
ОткрытьЕщё инструменты для SEO и маркетинга
Кластеризатор запросов, генераторы sitemap и robots.txt, минус-слова, разметка Schema.org и калькуляторы — в разделе инструментов.