CSSによる基本的なアニメーション

このボックスは、左から右へ移動しながら拡大縮小とフェードイン/フェードアウトの効果が実現されています。

ポイント解説

animationプロパティと、@keyframesプロパティが必要になります。

animationプロパティ

@keyframes moveBox

もっと勉強したい方向け

https://developer.mozilla.org/ja/docs/Web/CSS/CSS_animations/Using_CSS_animations

translateプロパティとtransformプロパティ

従来はtransformプロパティを使用するのが一般的でしたが、最新のCSS(最新のブラウザ)では、translateプロパティやScaleプロパティとして要素を分けて記述することが可能です。

    /* これが */
    .box {
      transform: translateX(12px);
      transform: rotate(45deg);
      transform: scale(1.2);
    }
    
    /* こう書ける(同じ意味) */
    .box {
      translate: 12px;
      rotate: 45deg;
      scale: 1.2;
    }

仮に「translateY(12px)」を記述する場合は「translate: 0 12px」とする必要があります。scaleも同様で、X軸Y軸(あるいはZ軸)のみの記述は存在しないため、そういった場合はX軸Y軸の指定を追加しないといけません。

参考(対応状況)

もっと勉強したい方向け https://developer.mozilla.org/ja/docs/Web/CSS/translate

サンプルその2です。テキストが流れてきますね。ここでは、要素の左マージンを 100% (包含要素の右端を示します) に、要素の幅を 300% (包含要素の幅の 3 倍) に設定しています。 これによりアニメーションの始まりの時点では、見出しがブラウザーのウィンドウの右端の外側に描画されます。要素の左マージンを 0% に、幅を 100% に設定しています。 これにより、見出しがコンテンツエリアの左端へすべり込むことでアニメーションが終わります。

イージングについて

transition-timing-functionプロパティが未指定の場合は、デフォルトのeaseが適用されます。