Flex보다 강력한 CSS Grid > 퍼블리싱강좌

퍼블리싱강좌

Flex보다 강력한 CSS Grid 정보

CSS Flex보다 강력한 CSS Grid

본문

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;
    }
}
추천
1

댓글 0개

전체 302
퍼블리싱강좌 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT