6.2 완성된 웹사이트 제작
약 8분
본문 듣기
읽기 설정
글자 크기
줄 간격
글꼴
6.2 완성된 웹사이트 제작
이번 섹션에서는 앞서 배운 내용을 바탕으로 완성된 반응형 웹사이트를 제작해보겠습니다. 이 프로젝트는 기업 홈페이지를 모델로 하여 진행하며, HTML, CSS 및 JavaScript를 결합하여 실제로 운영할 수 있는 웹사이트를 만드는 과정입니다.
먼저, 기본적인 HTML 구조를 구성합니다. 다음은 기업 홈페이지의 기본 서울 구조입니다.
코드
html
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>기업 홈페이지</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<header>
<nav>
<h1>기업 로고</h1>
<ul>
<li><a href="# 소개">소개</a></li>
<li><a href="# 서비스">서비스</a></li>
<li><a href="# 포트폴리오">포트폴리오</a></li>
<li><a href="# 연락처">연락처</a></li>
</ul>
</nav>
</header>
<main>
<section id="소개">
<h2>우리에 대해</h2>
<p>우리의 기업은 최고의 서비스 제공을 목표로 ...</p>
</section>
<section id="서비스">
<h2>우리의 서비스</h2>
<!-- 서비스 내용 추가 -->
</section>
<section id="포트폴리오">
<h2>포트폴리오</h2>
<!-- 포트폴리오 내용 추가 -->
</section>
<section id="연락처">
<h2>연락하기</h2>
<form>
<label for="name">이름:</label>
<input type="text" id="name" name="name">
<label for="email">이메일:</label>
<input type="email" id="email" name="email">
<button type="submit">제출</button>
</form>
</section>
</main>
<footer>
<p>© 2023 기업 이름. 모든 권리 보유.</p>
</footer>
<script src="script.js"></script>
</body>
</html>
다음으로, 스타일링을 위한 CSS 코드를 작성합니다. CSS에서는 Flexbox 및 Grid 레이아웃을 활용하여 반응형 웹 디자인을 구현합니다.
코드
css
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
}
header {
background-color: #333;
color: #fff;
}
nav {
display: flex;
justify-content: space-between;
padding: 10px 20px;
}
nav h1 {
margin: 0;
}
nav ul {
list-style: none;
display: flex;
}
nav li {
margin-left: 20px;
}
nav a {
color: #fff;
text-decoration: none;
}
main {
padding: 20px;
}
section {
margin-bottom: 40px;
}
footer {
background-color: #333;
color: #fff;
text-align: center;
padding: 10px;
}
@media (max-width: 600px) {
nav {
flex-direction: column;
}
nav ul {
flex-direction: column;
padding: 0;
}
nav li {
margin-left: 0;
margin-bottom: 10px;
}
}
JavaScript를 통해 상호작용 기능을 추가합니다. 이 예제에서는 간단한 스크롤 애니메이션을 구현하여 방문자가 페이지를 부드럽게 탐색할 수 있도록 합니다.
코드
javascript
document.querySelectorAll('nav a').forEach(anchor => {
anchor.addEventListener('click', function(e) {
e.preventDefault();
const target = document.querySelector(this.getAttribute('href'));
target.scrollIntoView({ behavior: 'smooth' });
});
});
마지막으로, 브라우저에서 다양한 화면 크기로 반응형 웹사이트를 테스트하고 수정 사항을 반영합니다. Chrome DevTools의 Device Toolbar를 사용하여 가상 장치에서 웹사이트를 확인하는 방법을 배웠습니다.
이 프로젝트를 통해 핵심 반응형 웹 디자인 개념을 더욱 확고히 이해하고, 실제 웹사이트를 제작하는 경험을 쌓을 수 있었습니다. 다음 강의에서는 복습 문제와 실습 과제를 통해 학습한 내용을 보강해보세요.
댓글 0
아직 댓글이 없습니다. 첫 댓글을 남겨보세요.