CSS 플렉스박스(Flexbox) 레이아웃에서 플렉스 항목들을 컨테이너의 상단(위쪽)에 정렬하고 싶다면, align-items 속성에 flex-start 값을 지정하면 됩니다.
align-items 속성은 교차축(cross axis) 방향으로 플렉스 항목을 배치하는 역할을 하며, 기본값은 stretch입니다. 이 값을 flex-start로 변경하면 모든 항목이 컨테이너의 시작 위치, 즉 세로 레이아웃에서는 맨 위쪽에 붙어서 정렬됩니다.
주요 속성값 비교
- flex-start: 항목들을 컨테이너 상단에 정렬
- center: 항목들을 세로 방향 가운데에 정렬
- flex-end: 항목들을 컨테이너 하단에 정렬
- stretch: 항목들을 컨테이너 높이만큼 늘려 채움 (기본값)
예제 코드
아래 예제에서는 높이가 300px인 빨간색 플렉스 컨테이너 안에 흰색 항목들이 상단에 정렬되도록 align-items: flex-start를 적용했습니다. 직접 실행해서 결과를 확인해 보세요.
<!DOCTYPE html>
<html>
<head>
<style>
.mycontainer {
display: flex;
height: 300px;
background-color: red;
align-items: flex-start;
}
.mycontainer > div {
background-color: white;
text-align: center;
line-height: 60px;
font-size: 30px;
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>
</body>
</html>실행 결과
코드를 실행하면 Q1부터 Q5까지의 항목들이 빨간색 컨테이너 안에서 각각 왼쪽부터 나란히 배치되며, 컨테이너가 300px 높이를 가지고 있음에도 불구하고 모든 항목이 맨 위쪽에 붙어 있는 것을 확인할 수 있습니다. 만약 이 속성을 제거하면 기본값인 stretch가 적용되어 항목들이 컨테이너 전체 높이로 늘어나게 됩니다.