[html] HTML5 애니메이션 효과

HTML5은 다양한 애니메이션 효과를 구현하는 데 매우 강력한 기능을 제공합니다. 이 기능들은 웹 페이지에 동적이고 멋진 시각적 효과를 만드는 데 도움이 됩니다. 이제 HTML5를 사용하여 다양한 애니메이션 효과를 만드는 방법을 살펴보겠습니다.

내비게이션 및 내용 슬라이드

<nav> 요소와 <section> 요소를 사용하여 내비게이션 및 내용 슬라이드를 만들 수 있습니다. 각 섹션에는 다른 내용이 들어가며 사용자가 내비게이션을 클릭하면 해당 내용이 슬라이드됩니다.

<nav>
  <a href="#section1">섹션 1</a>
  <a href="#section2">섹션 2</a>
  <a href="#section3">섹션 3</a>
</nav>

<section id="section1">
  <h2>섹션 1</h2>
  <p>내용 1</p>
</section>

<section id="section2">
  <h2>섹션 2</h2>
  <p>내용 2</p>
</section>

<section id="section3">
  <h2>섹션 3</h2>
  <p>내용 3</p>
</section>

CSS3 트랜지션 및 애니메이션

CSS3를 사용하여 트랜지션과 애니메이션을 쉽게 추가할 수 있습니다. 이를 통해 요소의 상태 변화에 따른 부드러운 애니메이션 효과를 만들 수 있습니다.

<style>
  .box {
    width: 100px;
    height: 100px;
    background: red;
    transition: width 1s, height 1s;
  }

  .box:hover {
    width: 200px;
    height: 200px;
  }

  @keyframes slidein {
    from {
      margin-left: 100%;
      width: 300%;
    }

    to {
      margin-left: 0%;
      width: 100%;
    }
  }

  .sliding {
    animation: slidein 3s;
  }
</style>

<div class="box"></div>

<div class="sliding"></div>

Canvas 애니메이션

HTML5의 <canvas> 요소를 사용하여 복잡한 애니메이션을 만들 수 있습니다. 이를통해 그래픽 요소에 대한 세부적인 제어가 가능합니다.

<canvas id="myCanvas" width="200" height="100" style="border:1px solid #000;"></canvas>

<script>
  var canvas = document.getElementById('myCanvas');
  var ctx = canvas.getContext('2d');
  ctx.fillStyle = 'green';
  ctx.fillRect(10, 10, 150, 80);

  var posX = 10;
  function moveRect() {
    ctx.clearRect(0, 0, canvas.width, canvas.height);
    ctx.fillRect(posX, 10, 150, 80);
    posX += 1;
  }

  setInterval(moveRect, 30);
</script>

이제 HTML5의 다양한 기능을 활용하여 멋진 애니메이션 효과를 웹 페이지에 추가해 보세요!

참고 문헌: