Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про CSS: flex-wrap, CSS Flexbox, layout, responsive design

За что отвечает flex-wrap?

Вопрос проверяет понимание свойства flex-wrap, которое управляет переносом элементов внутри flex-контейнера при нехватке места.

Короткий ответ

Свойство flex-wrap определяет, будут ли flex-элементы переноситься на новую строку (или столбец), если они не помещаются в одну линию внутри контейнера. По умолчанию используется nowrap, что заставляет все элементы сжиматься, чтобы уместиться в одну строку. Значения wrap и wrap-reverse позволяют элементам переноситься, создавая многорядную структуру, что критически важно для адаптивных макетов.

Длинный ответ

Свойство flex-wrap является частью модуля CSS Flexbox и контролирует поведение flex-элементов, когда их общий размер по главной оси превышает доступное пространство в flex-контейнере. Без управления переносом элементы могут бесконечно сжиматься или выходить за границы, что ломает вёрстку.

Значения свойства flex-wrap

  • nowrap (значение по умолчанию): Все элементы выстраиваются в одну линию, даже если для этого им приходится сжиматься. Это может привести к переполнению контейнера или нечитаемому контенту.
  • wrap: Элементы переносятся на следующую строку (или столбец, если направление — column), когда не хватает места. Перенос происходит в направлении, соответствующем направлению главной оси.
  • wrap-reverse: Аналогично wrap, но перенос происходит в обратном направлении, то есть новые строки или столбцы добавляются "сверху" или "справа" (в зависимости от оси).

Практическое применение и пример

flex-wrap особенно важен для создания адаптивных сеток и навигационных панелей. Например, при уменьшении ширины экрана элементы меню могут автоматически переноситься на новую строку, вместо того чтобы становиться слишком узкими.

.container {
  display: flex;
  flex-wrap: wrap; /* Разрешаем перенос */
  gap: 10px;
}

.item {
  flex: 1 1 200px; /* Базовый размер 200px, может расти и сжиматься */
  min-height: 100px;
  background-color: lightblue;
}

В этом примере элементы внутри .container будут занимать минимум 200px по ширине. Если в строке не хватает места для следующего элемента, он автоматически переносится на новую строку благодаря flex-wrap: wrap. Свойство gap добавляет отступы между элементами.

Взаимодействие с другими свойствами Flexbox

flex-wrap тесно связан со свойством flex-direction, которое задаёт направление главной оси (row, column). Вместе они определяют, как происходит перенос. Также при использовании wrap становятся активными свойства выравнивания для поперечной оси, такие как align-content, которые управляют распределением строк (или столбцов) внутри контейнера.

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

Уровень

  • Рейтинг:

    3

  • Сложность:

    2

Навыки

  • CSS

    CSS

Ключевые слова

#flex-wrap

#CSS Flexbox

#layout

#responsive design

Подпишись на React Developer в телеграм