flex-wrap — CSS | MDN
Свойство CSS flex-wrap задаёт правила вывода flex-элементов — в одну строку или в несколько, с переносом блоков. Если перенос разрешён, то возможно задать направление, в котором выводятся блоки.
flex-wrap: nowrap; flex-wrap: wrap; flex-wrap: wrap-reverse; /* Global values */ flex-wrap: inherit; flex-wrap: initial; flex-wrap: unset;
| Начальное значение | nowrap |
|---|---|
| Применяется к | flex-контейнеры |
| Наследуется | нет |
| Обработка значения | как указано |
| Animation type | discrete |
Подробнее по свойствам и общей информации смотрите Using CSS flexible boxes.
Свойство flex-wrap может содержать одно из следующих ниже значений.
Значения
Допускаются следующие значения:
nowrapРасположение в одну линию, может привести к переполнению контейнера.
Свойство cross-start эквивалентно start или before в зависимости от значения flex-direction.wrapРасположение в несколько линий. Свойство cross-start эквивалентно start или before в зависимости от значения
flex-directionи свойство cross-end противоположно cross-start.wrap-reverseВедёт себя так же, как и
wrapно cross-start и cross-end инвертированы.
Formal syntax
flex-wrap =
nowrap | (en-US)
wrap | (en-US)
wrap-reverse
HTML
<h5>This is an example for flex-wrap:wrap </h5> <div> <div>1</div> <div>2</div> <div>3</div> </div> <h5>This is an example for flex-wrap:nowrap </h5> <div> <div>1</div> <div>2</div> <div>3</div> </div> <h5>This is an example for flex-wrap:wrap-reverse </h5> <div> <div>1</div> <div>2</div> <div>3</div> </div>
CSS
/* Common Styles */ .content, .content1, .content2 { color: #fff; font: 100 24px/100px sans-serif; height: 150px; text-align: center; } .content div, .content1 div, .content2 div { height: 50%; width: 50%; } .red { background: orangered; } .green { background: yellowgreen; } .blue { background: steelblue; } /* Flexbox Styles */ .content { display: flex; flex-wrap: wrap; } .content1 { display: flex; flex-wrap: nowrap; } .content2 { display: flex; flex-wrap: wrap-reverse; }
Results
| Specification | Status | Comment |
|---|---|---|
| CSS Flexible Box Layout Module Определение ‘flex-wrap’ в этой спецификации. | Кандидат в рекомендации |
BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
- Using CSS flexible boxes (en-US)
Found a content problem with this page?
- Edit the page on GitHub.

- Report the content issue.
- View the source on GitHub.
Want to get more involved?
Learn how to contribute.
This page was last modified on by MDN contributors.
Свойство flex-wrap | CSS справочник
CSS свойстваОпределение и применение
CSS свойство flex-wrap определяет, будет ли флекс контейнер однострочным, или многострочным. По умолчанию контейнер является однострочным, для многострочных контейнеров допускается контролировать направление, в котором размещаются флекс элементы.
Обращаю Ваше внимание, если элемент не является флекс элементом (не находится внутри родительского элемента, который является блочным, или строчным флекс контейнером), то свойство flex-wrap не окажет на такой элемент никакого эффекта.
Схематичное отображение работы свойства flex-wrap отображено на следующем изображении:
Поддержка браузерами
| Свойство | Chrome | Firefox | Opera | Safari | IExplorer | Edge |
|---|---|---|---|---|---|---|
| flex-wrap | 29. 021.0 -webkit- | 28.0 18.0 -moz- | 17.0 | 9.0 6.1 -webkit- | 11.0 | 12.0 |
CSS синтаксис:
flex-wrap: "nowrap | wrap | wrap-reverse | initial | inherit";
JavaScript синтаксис:
object.style.flexWrap = "wrap-reverse"
Значения свойства
| Значение | Описание |
|---|---|
| nowrap | Указывает, что флекс элементы выстраиваются в одну строку. Это значение по умолчанию. |
| wrap | Указывает, что флекс элементы внутри контейнера располагаются в несколько горизонтальных рядов (в случае переполнения). Флекс элементы размещаются слева направо при направлении ltr (глобальный HTML атрибут dir, либо CSS свойство direction со значением ltr), а при значении rtl размещаются справа налево. |
| wrap-reverse | Указывает, что флекс элементы внутри контейнера располагаются в несколько горизонтальных рядов (в случае переполнения) по аналогии со значением wrap, но формирование строк идёт в обратном порядке.![]() |
| initial | Устанавливает свойство в значение по умолчанию. |
| inherit | Указывает, что значение наследуется от родительского элемента. |
Версия CSS
CSS 3Наследуется
Нет.Анимируемое
Нет.Пример использования
<!DOCTYPE html>
<html>
<head>
<title>Однострочные и многострочные флекс контейнеры</title>
<style>
.container {
display: -webkit-flex; /* для поддержки ранних версий браузеров */
display: flex; /* элемент отображается как блочный flex-контейнер */
-webkit-flex-wrap: nowrap; /* для поддержки ранних версий браузеров */
flex-wrap: nowrap; /* указывает, что флекс элементы выстраиваются в одну строку(это значение по умолчанию) */
}
.container2 {
display: -webkit-flex; /* для поддержки ранних версий браузеров */
display: flex; /* элемент отображается как блочный flex-контейнер */
-webkit-flex-wrap: wrap; /* для поддержки ранних версий браузеров */
flex-wrap: wrap; /* указывает, что флекс элементы внутри контейнера располагаются в несколько горизонтальных рядов (в случае переполнения) */
}
.
container3 {
display: -webkit-flex; /* для поддержки ранних версий браузеров */
display: flex; /* элемент отображается как блочный flex-контейнер */
-webkit-flex-wrap: wrap-reverse; /* для поддержки ранних версий браузеров */
flex-wrap: wrap-reverse; /* по аналогии со значением wrap, но формирование строки идёт в обратном порядке */
}
div > div { используем селектор дочерних элементов (форматируем все элементы <div>, вложенные внутрь элементов <div>)
width: 40%; /* устанавливаем ширину блока */
height: 25px; /* устанавливаем высоту блока */
border: 1px solid orange; /* устанавливаем сплошную границу 1px оранжевого цвета */
}
</style>
</head>
<body>
<h4>flex-wrap:nowrap;</h4>
<div class = "container">
<div>A</div>
<div>B</div>
<div>C</div>
</div>
<h4>flex-wrap:wrap;</h4>
<div class = "container2">
<div>A</div>
<div>B</div>
<div>C</div>
</div>
<h4>flex-wrap:wrap-reverse;</h4>
<div class = "container3">
<div>A</div>
<div>B</div>
<div>C</div>
</div>
</body>
</html>
Результат примера:
Пример использования CSS свойства flex-wrap (однострочные и многострочные флекс контейнеры).
CSS свойстваflex-wrap — CSS: Каскадные таблицы стилей
Свойство CSS flex-wrap устанавливает, будут ли flex-элементы принудительно помещаться в одну строку или могут переноситься на несколько строк. Если перенос разрешен, он устанавливает направление, в котором строки располагаются друг над другом.
Дополнительные свойства и сведения см. в разделе Использование гибких блоков CSS.
flex-wrap: nowrap; /* Значение по умолчанию */ flex-wrap: обернуть; flex-wrap: обернуть-обратно; /* Глобальные значения */ flex-wrap: наследовать; flex-wrap: начальный; flex-wrap: вернуться; flex-wrap: возвратный слой; flex-wrap: не установлено;
Свойство flex-wrap указано как одно ключевое слово, выбранное из списка значений ниже.
Значения
Допустимы следующие значения:
-
nowrap Элементы Flex расположены в одну строку, что может привести к переполнению контейнера Flex.
cross-start либо эквивалентен start , либо перед в зависимости от значения flex-direction. Это значение по умолчанию.-
обертка Элементы Flex разбиваются на несколько строк. cross-start либо эквивалентен start , либо перед в зависимости от значения
flex-direction, а cross-end противоположен указанному cross-start .-
обратная сторона Ведет себя так же, как
и кросс-энд переставлены.обтекание, но с перекрестным запуском
| Initial value | nowrap |
|---|---|
| Applies to | flex containers |
| Inherited | no |
| Computed value | as specified |
| Animation type | discrete |
flex-wrap =
nowrap |
упаковка |
обратная сторона
Установка значений обтекания flex-контейнера
HTML
Это пример для flex-wrap:wrap
<дел> <дел>1дел> <дел>2дел> <дел>3дел>

Свойство cross-start эквивалентно start или before в зависимости от значения
content,
.content1,
.content2 {
color: #fff;
font: 100 24px/100px sans-serif;
height: 150px;
text-align: center;
}
.content div,
.content1 div,
.content2 div {
height: 50%;
width: 50%;
}
.red {
background: orangered;
}
.green {
background: yellowgreen;
}
.blue {
background: steelblue;
}
/* Flexbox Styles */
.content {
display: flex;
flex-wrap: wrap;
}
.content1 {
display: flex;
flex-wrap: nowrap;
}
.content2 {
display: flex;
flex-wrap: wrap-reverse;
}

0
container3 {
display: -webkit-flex; /* для поддержки ранних версий браузеров */
display: flex; /* элемент отображается как блочный flex-контейнер */
-webkit-flex-wrap: wrap-reverse; /* для поддержки ранних версий браузеров */
flex-wrap: wrap-reverse; /* по аналогии со значением wrap, но формирование строки идёт в обратном порядке */
}
cross-start либо эквивалентен start , либо перед в зависимости от значения
содержание,
.content1,
.content2 {
цвет: #fff;
шрифт: 100 24px/100px без засечек;
высота: 150 пикселей;
ширина: 897 пикселей;
выравнивание текста: по центру;
}
.контент раздел,
.content1 раздел,
.content2 раздел {
высота: 50%;
ширина: 300 пикселей;
}
.красный {
фон: оранжево-красный;
}
.зеленый {
фон: желто-зеленый;
}
.синий {
фон: стальной синий;
}
/* Стили Flexbox */
.содержание {
дисплей: гибкий;
flex-wrap: обернуть;
}
.content1 {
дисплей: гибкий;
гибкая обертка: nowrap;
}
.content2 {
дисплей: гибкий;
flex-wrap: обернуть-обратно;
}


Если в последней строке есть только один элемент, он растянется на всю строку.
В двухмерном макете, таком как сетка, мы контролируем оба одновременно. Если вы хотите, чтобы пространство распределялось построчно, используйте flexbox. Если нет, используйте Grid.
box > *
— Свернутые элементы
Таким образом, браузеру необходимо заново выполнить поведение переноса, чтобы учесть новое пространство, которое свернутый элемент оставил во встроенном направлении.