데브허브 | DEVHUB | Structured Layout in Electron JS Using CSS Grid & Semantic HTMLStructured Layout in Electron JS Using CSS Grid & Semantic HTML
- Electron JS 애플리케이션에서 CSS Grid와 시맨틱 HTML을 활용하여 반응형 레이아웃을 구축하는 방법을 시연합니다. 🖥️
- 프로젝트 설정에는 Electron Forge와 Vite + TypeScript 템플릿이 사용되며, 이는 TypeScript 및 JavaScript 프레임워크 통합을 용이하게 합니다. 🛠️
- 초기 UI는
nav, 두 개의 section (나중에 <main>으로 감쌈), footer와 같은 시맨틱 HTML 요소로 구성됩니다. 🏗️
body 요소에 display: grid;와 height: 100vh;를 적용하고 grid-template-columns, grid-template-rows를 정의하여 기본 그리드 구조를 설정합니다. 📏
nav와 footer 같은 요소가 여러 컬럼에 걸쳐 확장되도록 grid-column: 1 / -1; 속성을 사용하여 전체 너비를 차지하게 합니다. ↔️
grid-template-areas 속성을 통해 레이아웃 영역에 이름을 부여하고, 각 HTML 요소에 grid-area를 할당하여 직관적인 레이아웃 구성을 가능하게 합니다. 🗺️
- 전체 애플리케이션 스크롤을 방지하기 위해
body에 overflow: hidden;을 적용하고, 특정 섹션 내에서만 스크롤이 발생하도록 overflow-y: auto;를 적용합니다. ↕️
section 요소들을 <main> 요소로 감싸 시맨틱 구조를 강화하고, <main> 요소 내부에 다시 CSS Grid를 적용하여 중첩된 그리드 레이아웃을 구현하는 방법을 보여줍니다. 🧱
- 이 방법을 통해 창 크기 변경 시에도 콘텐츠가 잘리지 않고 유연하게 조정되는 반응형 레이아웃을 성공적으로 구현합니다. 📐