선

Flex보다 강력한 CSS Grid

· 2025-12-27 (토) 10:12:32 · 694
flex는 한 방향(행 또는 열) 레이아웃에 최적화되어 있다면, grid는 가로와 세로를 동시에 제어하는 2차원 레이아웃에 최적화되어 있습니다. 특히 미디어 쿼리(Media Query)를 최소화하면서도 유연한 반응형 리스트를 만들 때 빛을 발합니다.

1. 반복되는 카드형 리스트 최적화 (repeat, auto-fill)
게시판의 갤러리 리스트를 만들 때, 화면 크기에 따라 아이템 개수를 일일이 지정할 필요가 없습니다.

.gallery-list {
display: grid;
/* 핵심: 너비가 최소 250px인 아이템을 빈 공간이 없도록 자동으로 채움 */
grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
gap: 20px; /* 아이템 사이의 간격 설정 */
}
효과: 미디어 쿼리 없이도 브라우저 너비에 따라 1열, 2열, 4열 등으로 자동 재배치됩니다.

2. grid-template-areas로 가시적인 구조 잡기
웹사이트의 전체 레이아웃(헤더, 사이드바, 본문, 푸터)을 짤 때 코드만 보고도 구조를 파악할 수 있는 직관적인 방법입니다.
.wrapper {
display: grid;
grid-template-areas:
"header header"
"content sidebar"
"footer footer";
grid-template-columns: 1fr 300px;
grid-template-rows: auto 1fr auto;
height: 100vh;
}

header { grid-area: header; }
main { grid-area: content; }
aside { grid-area: sidebar; }
footer { grid-area: footer; }

3. 모바일 대응을 위한 영역 재배치
미디어 쿼리 안에서 영역의 배치만 살짝 바꿔주면 모바일 레이아웃이 즉시 완성됩니다.
@media (max-width: 768px) {
.wrapper {
grid-template-areas:
"header"
"content"
"sidebar"
"footer";
grid-template-columns: 1fr;
}
}
|
댓글을 작성하시려면 로그인이 필요합니다.
+
분류 제목 글쓴이 날짜 조회
CSS 25-12-27 조회 695
CSS 25-12-07 조회 869
CSS 25-11-20 조회 910
CSS 25-10-10 조회 871
CSS 25-09-19 조회 1,066
CSS 25-08-16 조회 1,105
CSS 25-08-16 조회 1,027
CSS 25-08-02 조회 1,014
CSS 25-07-18 조회 1,156
CSS 25-07-11 조회 1,086
CSS 25-07-10 조회 1,017
CSS 25-07-03 조회 1,032
CSS 25-07-02 조회 1,087
CSS 25-06-29 조회 1,051
CSS 25-06-20 조회 1,220
CSS 25-06-18 조회 1,180
CSS 25-06-17 조회 1,089
CSS 25-06-16 조회 1,107
CSS 25-06-13 조회 956
CSS 23-03-13 조회 2,254
CSS 23-01-11 조회 3,361
CSS 21-03-29 조회 5,005
CSS 21-03-29 조회 5,489
반응형웹 20-06-29 조회 3,759
반응형웹 20-06-29 조회 3,632
부트스트랩 18-01-08 조회 5,804
부트스트랩
[부트스트랩]
18-01-08 조회 7,433
부트스트랩 18-01-08 조회 5,408
부트스트랩 18-01-04 조회 7,512
부트스트랩 18-01-04 조회 4,129