CSS grid-auto-columns 속성이란?
grid-auto-columns 속성은 CSS Grid 레이아웃에서 암시적으로 생성되는 열(implicit column)의 기본 크기를 지정하는 데 사용됩니다. grid-template-columns로 명시적으로 정의하지 않은 열이 자동으로 만들어질 때, 이 속성을 통해 해당 열들의 너비를 일괄적으로 제어할 수 있습니다.
그리드 아이템이 많아져 새로운 열이 자동으로 추가되는 상황에서도 일관된 레이아웃을 유지하고 싶다면 이 속성이 매우 유용합니다.
예제 코드
아래 코드를 실행하면 grid-auto-columns 속성이 실제로 어떻게 동작하는지 확인할 수 있습니다.
<!DOCTYPE html>
<html>
<head>
<style>
.container {
display: grid;
grid-auto-columns: 100px;
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>코드 설명
위 예제에서 .container 클래스에 display: grid;를 적용해 그리드 컨테이너를 만들고, grid-auto-columns: 100px;를 통해 자동 생성되는 모든 열의 너비를 100px로 고정했습니다.
또한 grid-gap: 10px;로 열과 행 사이에 10px의 간격을 부여했으며, 빨간색 배경 위에 노란색 셀을 배치해 각 열의 크기를 시각적으로 쉽게 확인할 수 있도록 구성했습니다. 각 셀에는 text-align: center;와 패딩을 적용해 내용이 중앙에 정렬되도록 했습니다.
사용 가능한 주요 값
- auto: 기본값으로, 열 크기가 콘텐츠에 따라 자동 결정됩니다.
- 길이 단위(px, em, rem 등): 고정된 크기를 지정합니다.
- 백분율(%): 컨테이너 너비 기준의 비율로 지정합니다.
- fr 단위: 남은 공간을 비율에 따라 분배합니다.
- min-content / max-content: 콘텐츠의 최소 또는 최대 크기에 맞춥니다.