Свойство flex-wrap
Свойство flex-wrap задава многоредово
подреждане на блокове по главната ос.
Прилага се към родителския елемент за
flex блокове. Влиза в свойството-съкращение
flex-flow.
Синтаксис
селектор {
flex-wrap: nowrap | wrap | wrap-reverse;
}
Стойности
| Стойност | Описание |
|---|---|
nowrap |
Едноредов режим - блоковете се подреждат в един ред. |
wrap |
Блоковете се подреждат в няколко реда, ако не се събират в един. |
wrap-reverse |
Същото като wrap, но блоковете се подреждат в обратен ред
(първо последния, после първия).
|
Стойност по подразбиране: nowrap.
Пример . Стойност wrap
Сега блоковете не се събират в своя контейнер и ще се подредят в няколко реда:
<div id="parent">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
</div>
#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
А сега редът на подреждане ще се промени на обратен (гледайте цифрите вътре в блоковете):
<div id="parent">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
</div>
#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,
както им е зададено, а по-малка:
<div id="parent">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
</div>
#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 няма да бъде
игнорирано. Нека намалим броя на блоковете
така, че всички да се съберат:
<div id="parent">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
#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-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