반응형 레이아웃을 만드는 것은 웹 개발자의 일반적인 과제입니다. 이 블로그에서는 CSS 그리드가 이 특정 레이아웃에 가장 적합한 접근 방식인 이유에 초점을 맞춰 다양한 CSS 기술을 사용하여 특정 반응형 디자인을 달성하는 방법을 살펴보겠습니다.
다음과 같은 레이아웃을 만들어야 합니다.
Flexbox는 1차원 레이아웃에는 탁월하지만 우리처럼 복잡한 2차원 레이아웃에는 어려움을 겪습니다. 이유는 다음과 같습니다.
DIV 1DIV 2DIV 3
.container { display: flex; flex-wrap: wrap; gap: 10px; padding: 10px; } .item { background-color: #40c4ff; color: white; padding: 20px; text-align: center; box-sizing: border-box; } .item:nth-child(1), .item:nth-child(3) { flex: 1 1 calc(50% - 10px); } .item:nth-child(2) { flex: 1 1 50%; } @media (max-width: 768px) { .item { flex: 1 1 100%; } }
이 Flexbox 설정에서:
CSS 그리드는 2차원 레이아웃 생성에 탁월하므로 이 과제에 완벽합니다.
DIV 1DIV 2DIV 3
.container { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; gap: 10px; padding: 10px; } .item { background-color: #40c4ff; color: white; padding: 20px; text-align: center; box-sizing: border-box; } .item:nth-child(1) { grid-column: 1 / 2; grid-row: 1 / 2; } .item:nth-child(2) { grid-column: 2 / 3; grid-row: 1 / 3; } .item:nth-child(3) { grid-column: 1 / 2; grid-row: 2 / 3; } @media (max-width: 768px) { .container { display: flex; flex-direction: column; } .item { width: 100%; } }
Flexbox는 단순한 1차원 레이아웃에 적합하지만 CSS 그리드는 보다 복잡한 2차원 디자인에 필요한 강력함과 유연성을 제공합니다. CSS 그리드를 사용하면 최소한의 코드와 최대의 제어로 원하는 반응형 레이아웃을 쉽게 얻을 수 있습니다.
이 예제를 자신의 프로젝트에 맞게 자유롭게 조정하고 반응형 레이아웃에 CSS 그리드를 사용하는 이점을 누려보세요!
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3