斜めに伸びる要素を実現するCSSアニメーション

HTML/CSS

こんにちは!今回は、CSSアニメーションを駆使して、斜め方向に伸びるオブジェクトを作成する方法をご紹介します。このアニメーションは、ユーザーの注目を引くデザインや動的なインタラクションに活用できます。

初学者の方でも簡単に取り組めるように、コピペで実装できるコード例を用意しています。これを使って、あなたのウェブページにも個性的なアニメーションを追加してみましょう!

サンプルコード

サンプルページ

HTML

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="stylesheet" href="styles.css">
  <title>斜めアニメーション</title>
</head>
<body>
  <div class="box"></div>
</body>
</html>

CSS

.box {
  width: 100px;
  height: 100px;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  transform: skewX(45deg);
}

.box::before {
  content: '';
  display: block;
  width: 100%;
  height: 0;
  background-color: blue;
  animation: diagonal-grow 5s forwards;
}

@keyframes diagonal-grow {
  0% {
    height: 0;
  }
  100% {
    height: 100%;
  }
}

解説

このサンプルでは、

の.box要素に::before擬似要素を使用しています。最初に、.box要素を斜めにするために、transform: skewX(45deg)を適用しています。次に、.box::before擬似要素のheightをアニメーションさせることで、要素が斜めに伸びるように見えます。

@keyframesのdiagonal-growアニメーションで、0%(開始時)から100%(終了時)までのheightを指定しています。アニメーションが終了した後に最終的な状態が保持されるように、animationプロパティにforwardsを追加しています。

まとめ

本記事では、CSSアニメーションを用いて斜め方向に伸びるオブジェクトを作成する方法を解説しました。このアニメーションは、ユーザーの興味を引くデザインや動的なインタラクションを実現する際に有効です。提供したコード例を利用して、初学者の方でも簡単にこのアニメーションを実装できることができます。

今回紹介した斜めに伸びるオブジェクトのアニメーションを、ぜひあなたのプロジェクトやウェブサイトに取り入れて、独自のデザインや表現を楽しんでください。