CSS Grid 생성기
CSS Grid는 2D 레이아웃을 만드는 표준 방법이지만 컨테이너 문법은 쉽게 잊힙니다. 이 생성기가 컨테이너 규칙을 대신 작성해 드립니다. 동일한 너비의 열을 고정 개수로, 트랙 사이의 간격을, 그리고 최소 너비 아래에서는 auto-fit 열로 전환하는 미디어 쿼리를 만들어 작은 화면에서도 레이아웃이 읽기 쉽게 유지됩니다. 출력은 순수한 컨테이너 CSS이며, 요소 배치는 직접 스타일시트에서 합니다.
그리드 만드는 방법
-
1
열 개수 설정
동일한 너비의 트랙 1~12개.
-
2
열 최소 너비 설정
이 너비 아래에서는 auto-fit으로 전환되어 각 열이 사용 가능한 최소 크기를 유지합니다.
-
3
간격 설정
열과 행 사이의 공간.
-
4
CSS 생성
도구가 컨테이너 규칙과 반응형 대체를 함께 작성합니다.
-
5
코드 복사
컨테이너 규칙을 스타일시트에 붙여넣고 요소는 자체 `grid-column` / `grid-row` 규칙으로 배치하세요.
생성되는 컨테이너
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 16px;
@media (max-width: 660px) {
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
repeat(3, minmax(0, 1fr)): 사용 가능한 너비를 균등하게 나누는 3개 열.1fr은 남은 공간의 한 분획이며,minmax(0, 1fr)은 열이 콘텐츠 크기보다 작게 줄어들 수 있게 합니다.gap: 각 트랙 사이의 간격.- 미디어 쿼리가
repeat(auto-fit, minmax(220px, 1fr))로 전환되며, 각각 220px 이상인 열을 가능한 한 많이 만듭니다. 중단점은 열 개수에 최소 너비를 곱한 값(120px 하한)이므로 작은 화면에서는 열이 압축되지 않고 다음 행으로 넘어갑니다.
fr 단위
fr은 “남은 공간의 한 분획”을 뜻합니다. 고정 크기 트랙을 뺀 뒤 남은 공간을 fr 단위 총합으로 나눕니다.
grid-template-columns: 200px 1fr 2fr;
1000px 컨테이너에서 첫 번째 열은 200px을 차지하고 나머지 800px이 1:2로 나뉘어 267px과 533px이 됩니다.
auto-fill vs. auto-fit
auto-fill: 아이템이 충분하지 않을 때 빈 자리 트랙을 만듭니다.auto-fit: 빈 트랙을 0으로 접어 나머지 아이템이 늘어나 행을 채웁니다.
반응형 대체는 카드 그리드에 맞는 auto-fit을 사용하므로 행이 항상 가득 차 보입니다.
다른 너비의 열
생성기는 동일한 열을 출력합니다. 크기를 섞으려면 결과를 수정하세요. grid-template-columns: 200px 1fr 2fr;는 고정 사이드바와 1:2 비율의 유연한 두 열을 만듭니다. 이름 있는 영역(grid-template-areas)이나 명시적 배치(grid-column: 1 / 3)는 생성된 컨테이너 위에 직접 추가하세요.
Grid vs. Flexbox
- Grid: 트랙으로 구성된 명시적 2D 레이아웃. 행과 열 구조를 가진 레이아웃(페이지 골격, 갤러리, 대시보드)에 적합합니다.
- Flexbox: 단일 축을 따른 1D 정렬. 아이템이 자연스럽게 흐르는 곳(내비게이션 바, 버튼 줄)에 적합합니다.
실제 레이아웃은 보통 둘을 조합합니다. 페이지 골격에는 Grid, 컴포넌트 내부에는 Flexbox입니다.
흔한 실수
- 자식에
min-width: 0을 빼먹기: 그리드 아이템은 기본적으로 콘텐츠의 최소 너비를 사용하므로fr열이 가장 긴 단어보다 작아질 수 없습니다. 자식에min-width: 0을 지정해 줄어들게 하세요. display: grid없이 중첩하기: 그리드의 자식은 직접 선언하지 않는 한 그리드가 아닙니다.
자주 묻는 질문
작은 화면에서 레이아웃을 보호합니다. 생성된 미디어 쿼리가 repeat(auto-fit, minmax(너비, 1fr))로 전환되어 각 열이 최소한 그 너비를 유지하고, 그리드는 열을 압축하는 대신 행을 추가합니다.
생성기는 동일한 열을 출력합니다. 결과의 grid-template-columns 줄을 수정해 크기를 섞으세요. 예: 넓은 중앙 열 1fr 2fr 1fr, 고정 사이드바 200px 1fr.
보통 아이템이 기본값 min-width: auto(콘텐츠 최소 너비와 동일)를 갖기 때문입니다. 그리드 아이템에 min-width: 0을 지정하면 셀 안으로 줄어들 수 있습니다.
행과 열 구조가 있는 레이아웃(페이지 레이아웃, 사진 갤러리, 대시보드)에는 Grid를 쓰세요. 아이템이 단일 축을 따라 흐르는 곳(내비게이션 바, 버튼 줄, 양식 필드 묶음)에는 Flexbox입니다.
관련 도구
FPS 카운터
requestAnimationFrame으로 브라우저 FPS를 측정하세요. 스무딩, 최소/최대 프레임레이트, 경고 임계값, 선택형 그래프를 제공합니다. 업로드나 API 없이 로컬에서 실행됩니다.
ASCII 표 참조
NUL, LF, DEL 같은 제어 문자를 포함해 모든 문자에 대한 10진수, 16진수, 8진수, 2진수, HTML 숫자 문자 참조를 담은 0부터 127까지의 전체 ASCII 표.
색상 혼합기
두 HEX 색상을 2-20개의 균등한 색상 견본으로 섞습니다. 양 끝 색상을 포함해 각 중간 색상을 대문자 HEX 코드로 확인하세요.
ASCII 이진수 변환기
ASCII 문자열을 이진수 표현으로 변환하세요. 각 문자는 8비트가 되고 공백으로 구분되어 프로토콜 추적이나 과제에 바로 붙여넣기 좋습니다.
색상 틴트 생성기
기준 색의 밝은 틴트를 생성합니다. 디자인 시스템 토큰, 배경, 호버 상태를 위한 3-20단계 스케일.
보색 찾기
어떤 입력에 대해서도 보색을 찾습니다. HSL 반대 색, 분할 보색 쌍, 그리고 접근성 있는 조합 제안을 반환합니다.
이 도구는 다른 언어로도 제공됩니다
- Generator CSS Grid [PL]
- Générateur de CSS Grid [FR]
- CSS Grid 生成 [JA]
- CSS Grid-generator [SV]
- CSS-Grid-Generator [DE]
- Generator CSS Grid [ID]
- Trình tạo CSS Grid [VI]
- مولّد CSS Grid [AR]
- Generador de CSS Grid [ES]
- เครื่องมือสร้าง CSS Grid [TH]
- CSS Grid-generator [NL]
- Gerador de CSS Grid [PT]
- CSS Grid Generator [EN]
- Generatore di CSS Grid [IT]
- Генератор CSS Grid [RU]
- CSS Grid Oluşturucu [TR]
- CSS Grid 生成器 [ZH]