CSS Grid의 grid-auto-flow 속성이란?
그리드 레이아웃에서 grid-auto-flow 속성은 명시적인 위치가 지정되지 않은 자동 배치(auto-placed) 항목들이 그리드에 어떤 순서와 방향으로 삽입될지를 결정합니다. 이 속성을 활용하면 복잡한 레이아웃도 간단하게 제어할 수 있습니다.
주요 속성값
- row(기본값): 각 행을 차례대로 채우고, 공간이 부족하면 새로운 행을 추가합니다.
- column: 각 열을 차례대로 채우고, 공간이 부족하면 새로운 열을 추가합니다.
- dense: 나중에 등장한 작은 항목을 앞쪽의 빈 공간에 되돌려 채워 레이아웃의 빈틈을 줄입니다. row dense, column dense 형태로 조합하여 사용할 수 있습니다.
예제 코드
다음 예제에서는 grid-auto-flow: column;을 적용하여 항목들이 행이 아닌 열(column) 방향으로 순서대로 배치되도록 설정했습니다. 아래 코드를 실행하여 동작을 직접 확인해 보세요.
<!DOCTYPE html>
<html>
<head>
<style>
.container {
display: grid;
grid-auto-columns: 50px;
grid-auto-flow: column;
grid-gap: 10px;
background-color: red;
padding: 10px;
}
.container>div {
background-color: yellow;
text-align: center;
padding:10px 0;
font-size: 20px;
}
</style>
</head>
<body>
<div class = "container">
<div class = "ele1">1</div>
<div class = "ele2">2</div>
<div class = "ele3">3</div>
<div class = "ele4">4</div>
<div class = "ele5">5</div>
<div class = "ele6">6</div>
</div>
</body>
</html>
위 코드를 실행하면 번호가 매겨진 여섯 개의 항목이 왼쪽에서 오른쪽으로, 즉 열 방향으로 순차적으로 배치되는 것을 확인할 수 있습니다. 값을 row로 변경하면 위에서 아래로 행 방향으로 배치되므로, 두 값의 차이를 비교해 보면서 학습하면 더욱 효과적입니다.