CSS에서 align-content 속성에 flex-end 값을 사용하면 플렉스 컨테이너 내부의 여러 플렉스 라인(flex lines)이 컨테이너의 끝(하단) 쪽으로 몰려서 배치됩니다.
align-content 속성 이해하기
align-content 속성은 flex-wrap: wrap 설정으로 인해 여러 줄로 나뉜 플렉스 항목들의 교차축(cross axis) 정렬 방식을 결정합니다. 값을 flex-end로 지정하면 각 플렉스 라인이 컨테이너의 끝 부분에 밀착되어 표시됩니다.
예제 코드
아래 코드는 8개의 자식 요소가 두 줄로 나뉘어 배치되며, flex-end 값 덕분에 모든 플렉스 라인이 파란색 컨테이너의 하단으로 내려가 있는 것을 확인할 수 있습니다.
<!DOCTYPE html>
<html>
<head>
<style>
.mycontainer {
display: flex;
height: 200px;
background-color: blue;
align-content: flex-end;
flex-wrap: wrap;
}
.mycontainer > div {
background-color: orange;
text-align: center;
line-height: 60px;
font-size: 30px;
width: 100px;
margin: 5px;
}
</style>
</head>
<body>
<h1>Queue</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>
</body>
</html>
코드 설명
- display: flex; — 컨테이너를 플렉스 박스로 지정합니다.
- height: 200px; — 컨테이너의 높이를 지정하여 플렉스 라인이 이동할 공간을 만듭니다.
- flex-wrap: wrap; — 항목들이 한 줄에 다 들어가지 못할 경우 다음 줄로 넘어가도록 허용합니다.
- align-content: flex-end; — 나뉜 플렉스 라인 전체를 컨테이너의 끝(아래쪽)으로 정렬합니다.
위 예제를 실행하면 주황색 항목들이 컨테이너 상단이 아닌 하단에 두 줄로 배치되어 있는 결과를 볼 수 있습니다. 참고로 align-content 속성은 플렉스 라인이 여러 개일 때만 효과가 있으므로, 반드시 flex-wrap: wrap과 함께 사용해야 합니다.