CSS align-content: flex-start란?
align-content 속성은 플렉스 컨테이너 안에서 여러 개의 플렉스 라인(flex lines)이 어떻게 배치될지를 결정합니다. 이 속성에 flex-start 값을 지정하면 모든 플렉스 라인이 컨테이너의 교차축(cross axis) 시작 지점, 즉 맨 위쪽으로 정렬됩니다.
참고로 align-content 속성은 flex-wrap: wrap; 설정과 함께 사용할 때 의미가 있으며, 항목들이 여러 줄로 나뉘어 배치되는 경우에만 그 효과를 눈으로 확인할 수 있습니다.
예제 코드
아래 코드를 직접 실행하면 flex-start 값이 실제로 어떻게 동작하는지 확인할 수 있습니다.
<!DOCTYPE html>
<html>
<head>
<style>
.mycontainer {
display: flex;
height: 200px;
background-color: blue;
align-content: flex-start;
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; — 해당 요소를 플렉스 컨테이너로 설정합니다.
- flex-wrap: wrap; — 항목들이 한 줄에 들어가지 못할 때 다음 줄로 자동 줄바꿈되도록 합니다.
- align-content: flex-start; — 나뉜 플렉스 라인들을 컨테이너의 상단(교차축 시작점)에 몰아서 정렬합니다.
- height: 200px; — 컨테이너에 고정 높이를 부여해 정렬 결과를 명확하게 보여줍니다.
위 코드를 실행하면 8개의 항목(Q1~Q8)이 두 줄로 나뉘어 배치되고, 각 플렉스 라인이 파란색 컨테이너의 맨 위쪽에 붙어 정렬되는 것을 확인할 수 있습니다. 만약 값을 center나 space-between 등으로 바꾸면 라인들의 위치가 어떻게 달라지는지 비교해 보는 것도 좋은 학습 방법입니다.