CSS의 grid-column-start 속성을 사용하면 그리드 레이아웃 내에서 특정 아이템이 어느 열(column)에서 시작할지 직접 지정할 수 있습니다. 이 속성을 활용하면 아이템이 자동 배치 규칙에 따라 흘러가는 것이 아니라, 원하는 그리드 선(grid line) 위치에 정확히 배치되도록 제어할 수 있습니다.
grid-column-start 속성이란?
grid-column-start는 그리드 컨테이너 안의 아이템이 세로 그리드 선(열 경계선) 중 몇 번째 선에서 시작할지를 결정합니다. 값으로 숫자를 지정하면 해당 번호의 그리드 선부터 아이템이 배치되며, 이후 요소들은 남은 공간을 따라 자동으로 재배치됩니다.
예제 코드
아래 예제에서는 2열짜리 그리드를 만들고, 첫 번째 아이템(.ele1)에 grid-column-start: 2;를 적용하여 두 번째 열에서 시작하도록 설정했습니다.
<!DOCTYPE html>
<html>
<head>
<style>
.container {
display: grid;
grid-template-columns: auto auto;
grid-gap: 10px;
background-color: red;
padding: 10px;
}
.container>div {
background-color: yellow;
text-align: center;
padding: 10px 0;
font-size: 20px;
}
.ele1 {
grid-column-start: 2;
}
</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>실행 결과 설명
위 코드를 실행하면 첫 번째 아이템(1번)이 기본값인 첫 번째 열이 아니라 두 번째 열에서 시작하는 것을 확인할 수 있습니다. 나머지 아이템들은 비어 있는 셀을 찾아 자동으로 배치되므로, 결과적으로 1번 아이템 옆자리와 다음 행부터 차례대로 채워집니다.
주요 사용 가능한 값
- auto – 기본값으로, 아이템이 자동 배치 규칙에 따라 배치됩니다.
- <line-number> – 특정 그리드 선 번호를 지정하여 해당 위치에서 시작합니다. (예:
grid-column-start: 2;) - span n – 현재 위치에서 n개의 트랙을 차지하도록 확장합니다.
grid-column-start는 grid-column-end 속성과 함께 사용하면 아이템이 여러 열에 걸쳐 배치되도록 만들 수 있어, 복잡한 그리드 레이아웃을 구성할 때 매우 유용합니다.