CSS의 flex-wrap 속성은 플렉스 컨테이너 안의 아이템들이 한 줄에 모두 들어가지 못할 때, 줄바꿈 여부와 방향을 결정하는 속성입니다. 이 속성에 wrap-reverse 값을 지정하면 플렉스 아이템(flex item)이 일반적인 wrap과는 반대 방향, 즉 교차 축(cross axis)의 역방향으로 줄바꿈되어 배치됩니다.
wrap-reverse 값의 동작 방식
기본값인 nowrap은 아이템을 한 줄에 모두 표시하고, wrap은 위에서 아래로 새로운 줄을 만들어 나갑니다. 반면 wrap-reverse를 사용하면 첫 번째 줄이 컨테이너의 맨 아래에 위치하고, 이후 줄들이 그 위로 쌓이는 형태로 배치됩니다. 화면 하단부터 채워지는 레이아웃이 필요할 때 유용하게 활용할 수 있습니다.
예제 코드
아래 예제는 wrap-reverse 값을 적용한 플렉스 컨테이너입니다. 브라우저 창의 너비를 줄여 보면 아이템들이 역순으로 줄바꿈되어 배치되는 것을 직접 확인할 수 있습니다.
<!DOCTYPE html>
<html>
<head>
<style>
.mycontainer {
display: flex;
background-color: orange;
flex-wrap: wrap-reverse;
}
.mycontainer > div {
background-color: white;
text-align: center;
line-height: 40px;
font-size: 25px;
width: 100px;
margin: 5px;
}
</style>
</head>
<body>
<h1>Quiz</h1>
<div class = "mycontainer">
<div>Q1</div>
<div>Q2</div>
<div>Q3</div>
<div>Q4</div>
<div>Q5</div>
<div>Q6</div>
<div>Q7</div>
<div>Q8</div>
<div>Q9</div>
</div>
</body>
</html>위 코드에서 9개의 아이템(Q1~Q9)은 각각 100px의 고정 폭을 가지므로, 컨테이너 너비가 좁아지면 자동으로 줄바꿈이 발생합니다. flex-wrap: wrap-reverse; 덕분에 Q1~Q5가 담긴 첫 번째 줄이 맨 아래에 표시되고, Q6~Q9가 담긴 두 번째 줄이 그 위쪽에 배치되는 것을 볼 수 있습니다.