// education

실전 웹사이트 레이아웃 제작 실습

지금까지 배운 HTML5 시맨틱 태그와 CSS3 스타일링 기법을 종합하여 실제 동작하는 웹사이트의 전체 레이아웃 구성을 직접 제작해 봅니다.


1. 웹사이트 뼈대 구조 설계 (HTML)

<!DOCTYPE html>
<html lang="ko">
<head>
  <meta charset="UTF-8">
  <title>DAVHAVE 스튜디오</title>
  <link rel="stylesheet" href="style.css">
</head>
<body>
  <!-- 상단 헤더 & 메뉴 -->
  <header class="site-header">
    <div class="logo">DAV<span>HAVE</span></div>
    <nav class="main-nav">
      <a href="#">홈</a>
      <a href="#">소개</a>
      <a href="#">포트폴리오</a>
      <a href="#">교육</a>
    </nav>
  </header>

  <!-- 메인 본문 콘텐츠 -->
  <main class="main-container">
    <article class="content-body">
      <h2>최신 웹 기술 스택 분석</h2>
      <p>HTML5와 CSS3 Flexbox를 활용한 모던 웹페이지 구현...</p>
    </article>
    <aside class="sidebar">
      <h3>카테고리</h3>
      <ul>
        <li>HTML5/CSS3</li>
        <li>JavaScript</li>
      </ul>
    </aside>
  </main>

  <!-- 푸터 -->
  <footer class="site-footer">
    <p>© 2026 DAVHAVE. All rights reserved.</p>
  </footer>
</body>
</html>

2. Flexbox 기반 CSS3 레이아웃 구성

/* 전역 초기화 */
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: sans-serif; line-height: 1.6; background: #0a0908; color: #f2ede4; }

/* 헤더 가로 정렬 */
.site-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 2rem;
  background: #16130f;
  border-bottom: 1px solid rgba(242,237,228,0.1);
}
.main-nav a { color: #f2ede4; margin-left: 1.5rem; text-decoration: none; }

/* 본문 2단 레이아웃 (본문 + 사이드바) */
.main-container {
  display: flex;
  max-width: 1000px;
  margin: 2rem auto;
  gap: 2rem;
}
.content-body { flex: 3; background: #16130f; padding: 1.5rem; border-radius: 12px; }
.sidebar { flex: 1; background: #16130f; padding: 1.5rem; border-radius: 12px; }

/* 푸터 */
.site-footer { text-align: center; padding: 2rem; color: #9a8f80; border-top: 1px solid rgba(242,237,228,0.1); }

3. 웹사이트 개발 단계 요약

  1. 와이어프레임(Wireframe) 구상: 페이지의 구역 배치 설계.
  2. HTML 시맨틱 태그 골조 완성: 의미에 맞는 태그 배치.
  3. CSS 초기화 및 레이아웃 정렬: Flexbox를 활용한 위치 구성.
  4. 디테일 디자이닝: 색상, 폰트, 호버 효과(:hover) 추가.

4. 자주 묻는 질문 (Q&A)

Q. 메인 콘텐츠와 사이드바의 비율을 동적으로 설정하려면 어떻게 하나요? A. Flexbox의 flex: 3;flex: 1; 속성을 부여하면 비율이 3:1로 유지되면서 화면 크기에 따라 자동으로 동적 확장 및 축소가 일어납니다.

← 이전다양한 입력 폼과 HTML5 유효성 검사 다음 →자바스크립트 프로그래밍 기초