HTML5 프로젝트 실습(Hands-On HTML5 Projects)
HTML5 포트폴리오 사이트 제작(Building an HTML5 Portfolio Site)
HTML5를 사용하여 개인 포트폴리오 사이트를 제작하는 것은 웹 개발 기술을 보여줄 수 있는 훌륭한 방법입니다. 이 프로젝트는 HTML5, CSS, JavaScript를 사용하여 개인 정보를 소개하고, 프로젝트와 작업 경험을 전시하는 사이트를 만드는 과정입니다.
기본 구조
<!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> <h1>홍길동 포트폴리오</h1> <nav> <a href="#about">소개</a> <a href="#projects">프로젝트</a> <a href="#contact">연락처</a> </nav> </header> <section id="about"> <h2>소개</h2> <p>웹 개발자 홍길동입니다. 프론트엔드와 백엔드 개발에 능숙합니다.</p> </section> <section id="projects"> <h2>프로젝트</h2> <div class="project"> <h3>프로젝트 1</h3> <p>설명...</p> </div> <div class="project"> <h3>프로젝트 2</h3> <p>설명...</p> </div> </section> <section id="contact"> <h2>연락처</h2> <form action="submit-form.php" method="post"> <label for="name">이름:</label> <input type="text" id="name" name="name" required> <label for="email">이메일:</label> <input type="email" id="email" name="email" required> <label for="message">메시지:</label> <textarea id="message" name="message" required></textarea> <button type="submit">보내기</button> </form> </section> <footer> <p>© 2024 홍길동</p> </footer> </body> </html>
스타일링 예제
/* styles.css */ body { font-family: Arial, sans-serif; margin: 0; padding: 0; } header { background-color: #333; color: #fff; padding: 1em; text-align: center; } nav a { color: #fff; margin: 0 1em; text-decoration: none; } section { padding: 2em; } .project { border-bottom: 1px solid #ddd; padding: 1em 0; } form { display: flex; flex-direction: column; } form label, form input, form textarea, form button { margin-bottom: 0.5em; }
HTML5 게임 개발(Developing an HTML5 Game)
HTML5와 JavaScript를 사용하여 간단한 게임을 개발할 수 있습니다. 여기서는 간단한 점프 게임을 만들어 보겠습니다.
HTML5 캔버스 설정
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>점프 게임</title> <style> canvas { display: block; margin: 0 auto; background-color: #f0f0f0; } </style> </head> <body> <canvas id="gameCanvas" width="800" height="400"></canvas> <script src="game.js"></script> </body> </html>
게임 로직 구현
// game.js const canvas = document.getElementById('gameCanvas'); const ctx = canvas.getContext('2d'); let player = { x: 50, y: 300, width: 50, height: 50, dy: 0, gravity: 1.5, jumpPower: -20 }; function drawPlayer() { ctx.fillStyle = 'blue'; ctx.fillRect(player.x, player.y, player.width, player.height); } function updatePlayer() { player.y += player.dy; player.dy += player.gravity; if (player.y + player.height > canvas.height) { player.y = canvas.height - player.height; player.dy = 0; } } function jump() { if (player.y + player.height === canvas.height) { player.dy = player.jumpPower; } } document.addEventListener('keydown', (e) => { if (e.code === 'Space') { jump(); } }); function gameLoop() { ctx.clearRect(0, 0, canvas.width, canvas.height); drawPlayer(); updatePlayer(); requestAnimationFrame(gameLoop); } gameLoop();
HTML5 기반의 인터랙티브 데이터 시각화(Interactive Data Visualization with HTML5)
데이터 시각화는 HTML5의 캔버스 요소와 JavaScript 라이브러리를 사용하여 인터랙티브한 차트를 생성할 수 있습니다. 여기서는 Chart.js 라이브러리를 사용한 예제를 보여줍니다.
HTML 설정
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>데이터 시각화</title> <script src="https://cdn.jsdelivr.net/npm/chart.js"></script> </head> <body> <canvas id="myChart" width="400" height="200"></canvas> <script src="chart.js"></script> </body> </html>
Chart.js를 사용한 데이터 시각화
// chart.js const ctx = document.getElementById('myChart').getContext('2d'); const myChart = new Chart(ctx, { type: 'bar', data: { labels: ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'], datasets: [{ label: '# of Votes', data: [12, 19, 3, 5, 2, 3], backgroundColor: [ 'rgba(255, 99, 132, 0.2)', 'rgba(54, 162, 235, 0.2)', 'rgba(255, 206, 86, 0.2)', 'rgba(75, 192, 192, 0.2)', 'rgba(153, 102, 255, 0.2)', 'rgba(255, 159, 64, 0.2)' ], borderColor: [ 'rgba(255, 99, 132, 1)', 'rgba(54, 162, 235, 1)', 'rgba(255, 206, 86, 1)', 'rgba(75, 192, 192, 1)', 'rgba(153, 102, 255, 1)', 'rgba(255, 159, 64, 1)' ], borderWidth: 1 }] }, options: { scales: { y: { beginAtZero: true } } } });
HTML5 웹 애플리케이션 개발(Developing an HTML5 Web Application)
HTML5를 사용하여 간단한 웹 애플리케이션을 개발하는 것은 웹 개발 기술을 향상시키는 좋은 방법입니다. 여기서는 할 일 목록(Todo List) 애플리케이션을 만드는 예제를 소개합니다.
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> <h1>할 일 목록</h1> <form id="todoForm"> <input type="text" id="todoInput" placeholder="할 일을 입력하세요" required> <button type="submit">추가</button> </form> <ul id="todoList"></ul> <script src="app.js"></script> </body> </html>
JavaScript를 사용한 기능 구현
// app.js document.getElementById('todoForm').addEventListener('submit', function(e) { e.preventDefault(); const todoInput = document.getElementById('todoInput'); addTodoItem(todoInput.value); todoInput.value = ''; }); function addTodoItem(todoText) { const todoList = document.getElementById('todoList'); const li = document.createElement('li'); li.textContent = todoText; todoList.appendChild(li ); li.addEventListener('click', function() { li.remove(); }); }
스타일링 예제
/* styles.css */ body { font-family: Arial, sans-serif; padding: 2em; background-color: #f9f9f9; } h1 { text-align: center; } form { display: flex; justify-content: center; margin-bottom: 1em; } form input, form button { padding: 0.5em; margin-right: 0.5em; } ul { list-style: none; padding: 0; } li { padding: 0.5em; background-color: #fff; margin-bottom: 0.5em; border: 1px solid #ddd; cursor: pointer; }
이와 같은 다양한 HTML5 프로젝트 실습을 통해 HTML5의 다양한 기능을 익히고, 실제 웹 애플리케이션 개발에 필요한 기술을 습득할 수 있습니다.