안녕하세요! 웹스토리보이입니다 😊
이번에는 C-3 유형 레이아웃을 함께 만들어보겠습니다. 기존에 작업했던 C유형들과 구조가 비슷하기 때문에, 이번에도 빠르게 실습하며 복습하는 느낌으로 진행해보겠습니다. 기초 레이아웃 흐름이 익숙해졌다면, 이번 유형은 훨씬 수월하게 느껴지실 거예요! 그럼 바로 시작해볼까요? 렛츠 고! 💪
VSCODE를 실행하고 webdesign폴더 안에 layoutC-3.html파일을 만들겠습니다.
!를 치고 tab버튼을 누르면 다음과 같이 나타납니다. lang는 ko로 변경하고 title은 웹디자인개발기능사 레이아웃 C-3으로 변경해주겠습니다.
1<!DOCTYPE html>
2<html lang="ko">
3<head>
4 <meta charset="UTF-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 <title>웹디자인개발기능사 레이아웃 C-3</title>
7</head>
8<body>
9
10</body>
11</html>
전체적인 구조는 왼쪽 메뉴와 콘텐츠로 구성되어 있습니다. aside와 main 영역으로 설정하겠습니다. 전체 크기는 1000px로 설정하겠습니다.
1<body>
2 <div id="wrap">
3 <aside id="aside"></aside>
4 <main id="main"></main>
5 </div>
6 <!-- //wrap -->
7</body>
1* {
2 margin: 0;
3 padding: 0;
4}
5#wrap {
6 width: 1000px;
7 display: flex;
8}
9#aside {
10 width: 20%;
11 height: 650px;
12 background-color: #efefef;
13}
14#main {
15 width: 80%;
16 height: 650px;
17 background-color: #e3e3e3;
18}
콘텐츠 구조에는 3개의 섹션이 들어가기 때문에 이 부분도 구조화 하겠습니다. 이렇게 하면 전체적인 구조가 완성된것 같습니다. 세부적으로 하나씩 작업을 들어가겠습니다.
1<div id="wrap">
2 <aside id="aside"></aside>
3 <main id="main">
4 <article id="slider"></article>
5 <section id="contents"></section>
6 <footer id="footer"></footer>
7 </main>
8</div>
9<!-- //wrap -->
1#slider {
2 width: 100%;
3 height: 350px;
4 background-color: #d9d9d9;
5}
6#contents {
7 width: 100%;
8 height: 200px;
9 background-color: #d1d1d1;
10}
11#footer {
12 width: 100%;
13 height: 100px;
14 background-color: #c7c7c7;
15}
왼쪽 사이드 영역에는 두개의 영역이 들어갑니다. width, height, background-color를 넣어주고, 영역을 확인하겠습니다.
1<aside id="aside">
2 <h1></h1>
3 <nav></nav>
4</aside>
5<!-- //aside -->
1#aside {
2 width: 20%;
3}
4#aside h1 {
5 width: 100%;
6 height: 100px;
7 background-color: #d9d9d9;
8}
9#aside nav {
10 width: 100%;
11 height: 550px;
12 background-color: #d1d1d1;
13}
슬라이드 영역은 별개 없으니 영역만 확인하고 넘어가겠습니다.
1<article id="slider">
2</article>
3<!-- //slider -->
1#slider {
2 width: 100%;
3 height: 350px;
4 background-color: #c7c7c7;
5}
컨텐츠 영역에는 3개의 섹션으로 구성되어 있습니다. 독립적인 주제 영역이라면, article 태그를 사용해도 괜찮습니다.
1<section id="contents">
2 <article class="content1"></article>
3 <article class="content2"></article>
4 <article class="content3"></article>
5</section>
6<!-- //contents -->
1#contents {
2 width: 100%;
3 display: flex;
4}
5#contents .content1 {
6 width: 33.3333%;
7 height: 200px;
8 background-color: #bcbcbc;
9}
10#contents .content2 {
11 width: 33.3333%;
12 height: 200px;
13 background-color: #b1b1b1;
14}
15#contents .content3 {
16 width: 33.3333%;
17 height: 200px;
18 background-color: #a3a3a3;
19}
푸터 영역은 두개의 영역으로 나누고, 두번째 영역은 다시 두개의 영역을 만들겠습니다.
1<footer id="footer">
2 <div class="footer1"></div>
3 <div class="footer2">
4 <div class="footer2-1"></div>
5 <div class="footer2-2"></div>
6 </div>
7</footer>
1#footer {
2 width: 100%;
3 display: flex;
4}
5#footer .footer1 {
6 width: 20%;
7 background-color: #838383;
8}
9#footer .footer2 {
10 width: 80%;
11}
12#footer .footer2 .footer2-1 {
13 width: 100%;
14 height: 50px;
15 background-color: #9d9d9d;
16}
17#footer .footer2 .footer2-2 {
18 width: 100%;
19 height: 50px;
20 background-color: #929292;
21}
<aside>
: 좌측 고정 메뉴에 사용되는 보조 콘텐츠 영역.<main>
: 주요 콘텐츠를 감싸는 중앙 영역.<article>
: 독립적인 콘텐츠 블록에 사용 (슬라이드 등).<section>
: 관련 콘텐츠 그룹을 묶는 용도.<footer>
: 사이트 하단 정보를 포함하는 영역.display: flex
→ 수평 정렬을 위해 #wrap
, #contents
, #footer
등에 적용.width
, height
→ 각 박스의 크기를 설정하여 레이아웃 구조 구분.background-color
→ 시각적으로 구조를 확인하기 위해 각 박스에 배경색 지정.#aside
와 #main
으로 수평 구조를 잡고, 내부 콘텐츠를 명확하게 분할했습니다.C-3 유형까지 정말 잘 따라오셨습니다! 🎉 반복되는 구조 속에서도 박스 배치 방식, 선택자 적용, 레이아웃 분할의 개념이 점점 더 자연스럽게 체득되고 있을 거예요.
이제 곧 D유형으로 넘어가면, 조금 더 다양한 변형 구조나 레이아웃 응용이 나올 예정입니다. 그 전에 C유형을 한 번 더 복습하고 넘어가도 좋아요!
그럼 다음 단계에서도 계속 함께 달려보아요! 수고하셨습니다 😊