CSS Grid 빌더

CSS Grid 레이아웃을 시각적으로 설계하고, 완성된 CSS 코드를 바로 복사하세요.

빠른 프리셋
그리드 컨테이너 설정
실시간 미리보기

셀을 클릭하면 해당 아이템의 위치와 span을 편집할 수 있습니다.

아이템 1 편집
생성된 CSS 코드
CSS Grid 코드가 생성되었습니다

CSS Grid 빌더 완벽 가이드

CSS Grid 빌더는 CSS Grid Layout을 시각적으로 설계하고 완성된 코드를 자동으로 생성해주는 무료 온라인 도구입니다. CSS Grid는 2차원 레이아웃 시스템으로, 행(row)과 열(column)을 동시에 제어할 수 있어 복잡한 웹 레이아웃을 직관적으로 구현할 수 있습니다. 이 도구를 사용하면 grid-template-columns, grid-template-rows, gap, justify-items, align-items 등 주요 속성을 실시간으로 조정하면서 미리보기 화면에서 즉시 결과를 확인할 수 있습니다.

CSS Grid Layout이란?

CSS Grid Layout은 웹 페이지의 2차원 레이아웃을 구성하기 위한 CSS 모듈입니다. Flexbox가 1차원(행 또는 열) 레이아웃에 최적화되어 있다면, Grid는 행과 열을 동시에 다룰 수 있어 더 복잡한 레이아웃을 손쉽게 만들 수 있습니다. grid-template-columns 속성으로 열의 크기를 정의하고, grid-template-rows로 행의 크기를 정의합니다. fr 단위는 사용 가능한 공간을 비율로 나누어 유연한 레이아웃을 만들 수 있게 해줍니다.

주요 기능 안내

fr 단위 이해하기

fr(fraction) 단위는 CSS Grid에서 사용 가능한 공간을 비율로 나누는 단위입니다. 예를 들어 grid-template-columns: 1fr 2fr 1fr은 사용 가능한 공간을 1:2:1 비율로 나눕니다. px나 %와 달리 남은 공간을 자동으로 분배하므로 반응형 레이아웃에 매우 유용합니다. minmax(200px, 1fr)처럼 최소값과 최대값을 함께 지정하면 더 유연한 레이아웃을 만들 수 있습니다.

span을 활용한 셀 병합

grid-column: span 2 또는 grid-row: span 3과 같이 span 키워드를 사용하면 여러 셀을 하나로 병합할 수 있습니다. 이 도구에서는 아이템을 클릭한 후 column span과 row span을 조정하여 원하는 크기의 영역을 쉽게 만들 수 있습니다. 헤더, 사이드바, 콘텐츠 영역 등을 구분하는 전형적인 레이아웃 패턴을 구현할 때 span 기능이 핵심적으로 사용됩니다.

자주 묻는 질문 (FAQ)

Q. CSS Grid와 Flexbox의 차이점은 무엇인가요?

A. Flexbox는 1차원(행 또는 열 중 하나) 레이아웃에 최적화되어 있고, CSS Grid는 2차원(행과 열 동시) 레이아웃을 지원합니다. 네비게이션 바나 단일 행/열 정렬은 Flexbox가 적합하고, 전체 페이지 레이아웃이나 복잡한 격자 구조에는 Grid가 유리합니다. 실무에서는 두 기술을 함께 사용하는 것이 일반적입니다.

Q. repeat() 함수는 어떻게 사용하나요?

A. repeat(3, 1fr)은 1fr 1fr 1fr과 동일합니다. repeat(auto-fill, minmax(200px, 1fr))처럼 auto-fill이나 auto-fit과 함께 사용하면 화면 크기에 따라 열 수가 자동으로 조정되는 반응형 레이아웃을 만들 수 있습니다. 이 도구의 grid-template-columns 입력란에 직접 repeat() 함수를 입력할 수 있습니다.

Q. CSS Grid의 브라우저 호환성은 어떤가요?

A. CSS Grid는 모든 최신 브라우저(Chrome, Firefox, Safari, Edge)에서 완벽하게 지원됩니다. Internet Explorer 11은 구버전 Grid 명세만 부분 지원하므로, IE11 지원이 필요한 경우 -ms- 접두사와 제한된 기능만 사용해야 합니다. 2024년 기준 전 세계 브라우저의 97% 이상이 CSS Grid를 지원하므로 안심하고 사용할 수 있습니다.

Q. gap 속성에서 row-gap과 column-gap을 다르게 설정할 수 있나요?

A. 네, gap 속성에 값을 두 개 입력하면 됩니다. 예를 들어 gap: 10px 20px은 row-gap 10px, column-gap 20px을 의미합니다. 값을 하나만 입력하면 행과 열 간격이 동일하게 적용됩니다. 이 도구의 gap 입력란에 10px 20px처럼 공백으로 구분하여 입력하면 됩니다.

Q. 생성된 코드를 바로 프로젝트에 사용할 수 있나요?

A. 네, 생성된 CSS 코드는 표준 CSS Grid 속성만 사용하므로 어떤 프로젝트에서든 바로 복사하여 사용할 수 있습니다. 클래스명(.grid-container, .grid-item-1 등)은 프로젝트에 맞게 변경하시면 됩니다. React, Vue, Angular 등 어떤 프레임워크에서도 호환됩니다.