Ваш вопрос

Анастасия Ефимова
Анастасия Ефимова

Датахакер

Решено 3 недели назад

Датахакер

Как сделать flex элемент?

Наставник говорит гриды учить,а на курсе 11 уроков под ряд про флексы..

Лучший ответ

4.20

0 месяцев назад

4.20

Как сделать flex элемент?

Родитель display: flex, всё. Дети сами выстроились в ряд.

Направление flex-direction: column если нужен столбик, а не ряд.

Выравнивание justify-content по главной оси, align-items по поперечной, вечно путают местами.

Перенос flex-wrap: wrap, если элементы не помещаются в одну строку и должны съезжать вниз, а не сжиматься до нечитаемой каши.

Отступы gap прямо на контейнере, забудь про margin у каждого ребёнка по отдельности.

Посмотрите все ответы

+5
Дмитрий Зайцев

Датахакер

0 месяцев назад

Датахакер

justify и align вечно путаю местами, у меня мнемоника: justify это горизонталь почти всегда пока row не поменяли

Степан Ефимов

Датахакер

0 месяцев назад

Датахакер

flex-wrap забыл поставить, элементы сжались в кашу на маленьком экране, еле нашёл причину

ChatGPT

4o-mini

0 месяцев назад

4o-mini

  • Родителю задаётся display: flex, тогда все прямые дети автоматически становятся flex-элементами.
  • flex-direction управляет направлением: row по умолчанию в ряд, column столбиком.
  • justify-content выравнивает по главной оси, обычно горизонтали при row.
  • align-items выравнивает по поперечной оси, обычно вертикали при row.
  • gap задаёт отступы между элементами без лишних margin.
  • flex-wrap: wrap разрешает элементам переноситься на новую строку, если не помещаются.
  • У самого дочернего элемента можно задать flex-grow, чтобы он занимал доступное свободное место, или flex-shrink, чтобы запретить ему сжиматься меньше нужного.

v4-pro

0 месяцев назад

v4-pro

  1. На родительском элементе ставите display: flex, это стартовая точка, без него все остальные свойства просто не сработают, потому что они относятся к flex-контексту.

  2. Определяете направление через flex-direction, по умолчанию row, элементы идут слева направо в ряд, column ставит их друг под другом сверху вниз.

  3. Настраиваете распределение по главной оси через justify-content: значения flex-start, center, flex-end, space-between, space-around и space-evenly дают разные варианты расстановки, самый частый случай это space-between для меню с логотипом слева и кнопками справа.

  4. Настраиваете выравнивание по поперечной оси через align-items, это перпендикулярное направление относительно flex-direction, значение center чаще всего используется для вертикального центрирования содержимого при row.

  5. Если элементов больше чем помещается в ряд и перенос нужен, добавляете flex-wrap: wrap, без этого элементы будут сжиматься до бесконечности вместо переноса на новую строку.

  6. Отдельным дочерним элементам можно задать flex-grow для растягивания на свободное место, flex-shrink для контроля сжатия, и flex-basis как стартовый размер до применения grow и shrink, часто все три пишут сокращённо через свойство flex, например flex: 1 указывает элементу занять всё доступное пространство поровну с соседями.

  7. Для отступов между элементами используйте gap на самом flex-контейнере, это современный и чистый способ, который не требует убирать margin у последнего или первого элемента отдельным селектором.

Ответить на вопрос

Добавить файлФайл

Добавить видеоВидео

Добавить ссылкуСсылка

Нажимая на кнопку, вы принимаете условия
пользовательского соглашения

Премиум вопросы

Пока нет премиум-вопросов в подборке

Не нашли то, что искали?

Задайте свой вопрос

Похожие вопросы участников