Я пытаюсь отсортировать элементы флексбокса от последнего к первому.
Я пробовал использовать flex-direction: row-reverse;
, но он меняет местами только строки, а не весь контейнер.
Результат:
Это что-то вроде 3-2-1-(...)-9-8-7, мне нужно 9-8-7-(...)-3-2-1*
Как я могу перевернуть все элементы?
.container {
display: flex;
flex-wrap: wrap;
height: 10rem;
flex-direction: row-reverse;
}
.container .item {
height: 30%;
width: 30%
}
<div class = "container">
<div class = "item">1</div>
<div class = "item">2</div>
<div class = "item">3</div>
<div class = "item">4</div>
<div class = "item">5</div>
<div class = "item">6</div>
</div>
Ширина вашего элемента большая, поэтому он обернут.
Для нескольких строк рассмотрите возможность использования атрибута flex-wrap
.
добавьте эту строку
flex-wrap: wrap-reverse;
.container {
display: flex;
flex-wrap: wrap;
height: 10rem;
flex-direction: row-reverse;
flex-wrap:wrap-reverse;
}
.container .item {
height: 30%;
width: 30%
}
<div class = "container">
<div class = "item">1</div>
<div class = "item">2</div>
<div class = "item">3</div>
<div class = "item">4</div>
<div class = "item">5</div>
<div class = "item">6</div>
<div class = "item">7</div>
<div class = "item">8</div>
<div class = "item">9</div>
</div>
Просто используйте flex-wrap: wrap-reverse
См. документацию: https://developer.mozilla.org/en-US/docs/Web/CSS/flex-wrap
.container {
display: flex;
flex-wrap: wrap-reverse;
height: 10rem;
flex-direction: row-reverse;
}
.container .item {
height: 30%;
width: 30%
}
<div class = "container">
<div class = "item">1</div>
<div class = "item">2</div>
<div class = "item">3</div>
<div class = "item">4</div>
<div class = "item">5</div>
<div class = "item">6</div>
</div>