Чем занимается свойство flex wrap
Перейти к содержимому

Чем занимается свойство flex wrap

  • автор:

Свойство flex-wrap

Свойство flex-wrap задает многострочную расстановку блоков по главной оси. Применяется к родительскому элементу для flex блоков. Входит в свойство-сокращение flex-flow .

Синтаксис

Значения

Значение Описание
nowrap Однострочный режим — блоки выстраиваются в одну строку.
wrap Блоки выстраиваются в несколько строк, если не помещаются в одну.
wrap-reverse То же самое, что и wrap, но блоки выстраиваются в другом порядке (сначала последний, потом первый).

Значение по умолчанию: nowrap .

Пример . Значение wrap

Сейчас блоки не помещаются в свой контейнер и выстроятся в несколько строк:

1
2
3
4
5
6
7
8
9

#parent < display: flex; flex-wrap: wrap; flex-direction: row; justify-content: space-between; border: 1px solid #696989; height: 200px; width: 330px; margin: auto; >#parent > div < width: 100px; height: 50px; border: 1px solid #696989; >

Пример . Значение wrap-reverse

А теперь порядок следования поменяется на обратный (смотрите на цифры внутри блоков):

1
2
3
4
5
6
7
8
9

#parent < display: flex; flex-wrap: wrap-reverse; flex-direction: row; justify-content: space-between; border: 1px solid #696989; height: 200px; width: 330px; margin: auto; >#parent > div < width: 100px; height: 50px; border: 1px solid #696989; >

Пример . Значение nowrap

Сейчас блоки будут располагаться в однострочном режиме (так по умолчанию). При этом значение ширины width для блоков будет проигнорировано, если оно мешает блокам помещаться в родителя. Обратите внимание на то, что блоки поместились в родителя, но их реальная ширина не 100px , как им задано, а меньше:

1
2
3
4
5
6
7
8
9

#parent < display: flex; flex-wrap: nowrap; flex-direction: row; justify-content: space-between; border: 1px solid #696989; height: 200px; width: 330px; margin: auto; >#parent > div < width: 100px; height: 50px; border: 1px solid #696989; >

Пример . Значение nowrap

Однако, если блоки помещаются при заданной им ширине — то свойство width не будет проигнорировано. Уменьшим количество блоков так, чтобы они все влезли:

1
2
3

#parent < display: flex; flex-wrap: nowrap; flex-direction: row; justify-content: space-between; border: 1px solid #696989; height: 200px; width: 330px; margin: auto; >#parent > div < width: 100px; height: 50px; border: 1px solid #696989; >

Смотрите также

  • свойство flex-direction ,
    которое задает направление осей flex блоков
  • свойство justify-content ,
    которое задает выравнивание по главной оси
  • свойство align-items ,
    которое задает выравнивание по поперечной оси
  • свойство flex-wrap ,
    которое многострочность flex блоков
  • свойство flex-flow ,
    сокращение для flex-direction и flex-wrap
  • свойство order ,
    которое задает порядок flex блоков
  • свойство align-self ,
    которое задает выравнивание одного блока
  • свойство flex-basis ,
    которое задает размер конкретного flex блока
  • свойство flex-grow ,
    которое задает жадность flex блоков
  • свойство flex-shrink ,
    которое задает сжимаемость flex блоков
  • свойство flex ,
    сокращение для flex-grow, flex-shrink и flex-basis

CSS свойство flex-wrap

Устанавливает, следует ли флекс-элементам располагаться в одну строку или можно занять несколько строк. Если перенос строк допускается, то свойство также позволяет контролировать направление, в котором выкладываются строки.

CSS синтаксис

flex-wrap: nowrap | wrap | wrap-reverse | initial | inherit;

Возможные значения
Значение Описание
nowrap Значение по умолчанию. Флекс-элементы выстраиваются в одну линию и на новую строку не переносятся.
wrap Флекс-элементы переносятся, располагаясь в несколько горизонтальных рядов (если не помещаются в один ряд) в направлении, установленном свойством flex-direction.
wrap-reverse Флекс-элементы переносятся, располагаясь в противоположном установленному свойством flex-direction порядке, при этом перенос происходит снизу вверх.
inherit Значение наследуется от родительского элемента.
initial Устанавливает значение по умолчанию.
Пример использования

Устанавливаем, чтобы флекс-элементы переносились на новую строку

CSS свойство flex-wrap css3

css3

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

css3

Обращаю Ваше внимание, если элемент не является флекс элементом (не находится внутри родительского элемента, который является блочным, или строчным флекс контейнером), то свойство flex-wrap не окажет на такой элемент никакого эффекта.

css3

Схематичное отображение работы свойства flex-wrap отображено на следующем изображении:

Схематичное отображение работы свойства flex-wrap

Поддержка браузерами

Свойство Chrome

Firefox Opera Safari IExplorer Edge
flex-wrap css3 29.0
21.0
-webkit-
28.0
18.0
-moz-
17.0 9.0
6.1
-webkit-
11.0 12.0
flex-wrap: "nowrap | wrap | wrap-reverse | initial | inherit";
object.style.flexWrap = "wrap-reverse" 

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

Значение Описание
nowrap Указывает, что флекс элементы выстраиваются в одну строку. Это значение по умолчанию.
wrap Указывает, что флекс элементы внутри контейнера располагаются в несколько горизонтальных рядов (в случае переполнения). Флекс элементы размещаются слева направо при направлении ltr (глобальный HTML атрибут dir, либо CSS свойство direction со значением ltr ), а при значении rtl размещаются справа налево.
wrap-reverse Указывает, что флекс элементы внутри контейнера располагаются в несколько горизонтальных рядов (в случае переполнения) по аналогии со значением wrap , но формирование строк идёт в обратном порядке.
initial Устанавливает свойство в значение по умолчанию.
inherit Указывает, что значение наследуется от родительского элемента.

Версия CSS

Наследуется

Анимируемое

Пример использования

   Однострочные и многострочные флекс контейнеры .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  используем селектор дочерних элементов (форматируем все элементы 
, вложенные внутрь элементов
) width: 40%; /* устанавливаем ширину блока */ height: 25px; /* устанавливаем высоту блока */ border: 1px solid orange; /* устанавливаем сплошную границу 1px оранжевого цвета */ > flex-wrap:nowrap; class = "container"> A B C
flex-wrap:wrap; class = "container2"> A B C
flex-wrap:wrap-reverse; class = "container3"> A B C

Пример использования CSS свойства flex-wrap (однострочные и многострочные флекс контейнеры).

CSS свойства

© 2016-2023 Денис Большаков, замечания и предложения по работе сайта Вы можете направить по адресу basicweb.ru@gmail.com

Кажется, вы используете блокировщик рекламы 🙁

Этот ресурс не является коммерческим проектом и развивается на энтузиазме автора сайта, который посвящает все свое свободное время этому проекту.

Добавьте, пожалуйста, basicweb.ru в исключения блокировщика рекламы, этим вы поможете развитию проекта.

Чем занимается свойство flex wrap

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

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

Например, возьмем значение по умолчанию nowrap :

    Flexbox в CSS3 .flex-container < display: flex; border: solid 0.25em #000; width: 60%; height:8.25em; flex-wrap:nowrap; >.row < flex-direction: row; >.row-reverse < flex-direction: row-reverse; >.flex-item < text-align:center; font-size: 1em; padding: 1.5em; color: white; opacity: 0.8; >.color1 .color2 .color3 .color4 .color5 

Row

Flex Item 1
Flex Item 2
Flex Item 3
Flex Item 4
Flex Item 5

Row-reverse

Flex Item 1
Flex Item 2
Flex Item 3
Flex Item 4
Flex Item 5

Здесь в каждом из flex-контейнеров по пять элементов, однако ширина контейнера может вмещать не все элементы, тогда они уходят за границу контейнера:

flex-wrap nowrap в Flexbox и CSS3

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

.flex-container

В этом случае появится дополнительная стока:

flex-wrap в Flexbox и CSS3

При расположении в виде столбца контейнер будет создавать дополнительные столбцы:

    Flexbox в CSS3 .flex-container < display: flex; border: solid 0.25em #000; width: 60%; height:8.25em; flex-wrap:wrap; >.column < flex-direction: column; >.column-reverse < flex-direction: column-reverse; >.flex-item < text-align:center; font-size: 1em; padding: 1.5em; color: white; opacity: 0.8; >.color1 .color2 .color3 .color4 .color5 

Column

Flex Item 1
Flex Item 2
Flex Item 3
Flex Item 4
Flex Item 5

Column-reverse

Flex Item 1
Flex Item 2
Flex Item 3
Flex Item 4
Flex Item 5

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *