CSS
 Computer >> コンピューター >  >> プログラミング >> CSS

CSSのanimationショートハンド(省略形)プロパティでアニメーションをまとめて設定する方法

CSSでは、アニメーションに関するすべてのプロパティを一度に指定できるショートハンド(省略形)プロパティとして animation が用意されています。

このプロパティを使うことで、アニメーションの再生時間(duration)やアニメーション名(name)、タイミング関数、遅延時間、繰り返し回数などを、1行のコードでまとめて設定できます。

animationショートハンドの基本構文

animation: アニメーション名 再生時間 タイミング関数 遅延時間 繰り返し回数 方向 塗りつぶしモード;

最低限、「アニメーション名」と「再生時間」を指定すれば動作します。値の順序はある程度自由ですが、時間を表す2つの値のうち、最初に書かれたものが animation-duration、2番目が animation-delay として解釈される点に注意してください。

実装例:背景色が変化するアニメーション

以下は、animation ショートハンドプロパティを使用したシンプルなサンプルコードです。黄色いボックスが、緑色から青色へと2秒かけて滑らかに変化します。

<!DOCTYPE html>
<html>
  <head>
    <style>
      div {
        width: 150px;
        height: 200px;
        background-color: yellow;
        /* ショートハンドでアニメーション名と再生時間を指定 */
        animation: myanim 2s;
      }

      /* アニメーションの内容を定義 */
      @keyframes myanim {
        from {
          background-color: green;
        }
        to {
          background-color: blue;
        }
      }
    </style>
  </head>
  <body>
    <div></div>
  </body>
</html>

コードのポイント

  • animation: myanim 2s; — アニメーション名「myanim」を2秒間かけて再生することを意味します。
  • @keyframes myanim — アニメーションの開始時点(from)と終了時点(to)のスタイルを定義します。
  • 開始時は背景色が「緑(green)」、終了時は「青(blue)」に変化します。

このように animation ショートハンドを活用すれば、個別のプロパティを何行にも分けて書く必要がなく、CSSをすっきりと記述できます。より複雑なアニメーションを作る場合は、ease-in-out(タイミング関数)や infinite(無限ループ)などの値も組み合わせてみてください。

  1. CSSのbackgroundショートハンド(一括指定)プロパティの使い方を解説

    CSSのbackgroundショートハンド(一括指定)プロパティは、要素の背景をまとめて定義するための便利なプロパティです。1つの宣言で複数の背景関連プロパティを同時に設定できるため、コードが簡潔になり、可読性も向上します。backgroundショートハンドに含まれる個別プロパティbackgroundショートハンドを使うことで、以下の8つの個別プロパティを一度に指定できます。background-color:背景色background-image:背景画像background-repeat:画像の繰り返し方法background-position:画像の表示位置background-clip:

  2. CSSのoutlineショートハンドプロパティとは?構文と使い方を実例付きで解説

    CSS outlineショートハンドプロパティとは? outlineショートハンドプロパティを使うと、要素の境界線の外側に、スタイル(必須)・太さ・色を指定した線をまとめて定義できます。borderプロパティとは異なり、outlineは要素の寸法(幅や高さ)に含まれないため、レイアウトに影響を与えずに輪郭線を表示できるのが大きな特徴です。 構文 CSS outlineショートハンドプロパティの構文は次のとおりです。 Selector {    outline: /*値*/ } 指定できる値 outline-width:線の太さ(thin / medium / thic