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

CSSで左上方向へ回転して消えるアニメーション(rotateOutUpLeft)を作る方法

CSSのrotateOutUpLeftは、要素が左下を軸として反時計回りに回転しながら画面外へ消えていくアニメーション効果です。@keyframesで回転角度と不透明度(opacity)の変化を定義し、animation-nameを使って対象の要素に適用します。

実装例

以下のコードでは、ロゴ画像が10秒かけて左下を基点に-90度回転しながらフェードアウトしていきます。「Reload page」ボタンをクリックするとページが再読み込みされ、アニメーションを何度でも確認できます。

<html>
<head>
<style>
.animated {
   background-image: url(/css/images/logo.png);
   background-repeat: no-repeat;
   background-position: left top;
   padding-top: 95px;
   margin-bottom: 60px;
   -webkit-animation-duration: 10s;
   animation-duration: 10s;
   -webkit-animation-fill-mode: both;
   animation-fill-mode: both;
}
@-webkit-keyframes rotateOutUpLeft {
   0% {
      -webkit-transform-origin: left bottom;
      -webkit-transform: rotate(0);
      opacity: 1;
   }
   100% {
      -webkit-transform-origin: left bottom;
      -webkit-transform: rotate(-90deg);
      opacity: 0;
   }
}
@keyframes rotateOutUpLeft {
   0% {
      transform-origin: left bottom;
      transform: rotate(0);
      opacity: 1;
   }
   100% {
      transform-origin: left bottom;
      transform: rotate(-90deg);
      opacity: 0;
   }
}
.rotateOutUpLeft {
   -webkit-animation-name: rotateOutUpLeft;
   animation-name: rotateOutUpLeft;
}
</style>
</head>
<body>
<div id="animated-example" class="animated rotateOutUpLeft"></div>
<button onclick="myFunction()">Reload page</button>

<script>
function myFunction() {
   location.reload();
}
</script>
</body>
</html>

コードのポイント

  • transform-origin: left bottom; … 回転の基準点を要素の左下に設定します。これにより、要素が左上方向へ回転しながら退場するような見た目になります。
  • @keyframes … 開始時点(0%)で「回転0度・完全に表示」、終了時点(100%)で「-90度回転・完全に透明」という状態を定義しています。
  • -webkit- 接頭辞 … 旧バージョンのSafariなど古いブラウザ向けのベンダープレフィックスです。現在の主要ブラウザでは、プレフィックスなしの標準プロパティだけで動作します。
  • animation-fill-mode: both; … アニメーション終了後も最後の状態(非表示)を保持するため、要素が元に戻らず消えたままになります。

なお、一般的に紹介されているサンプルの中には、@keyframesの100%部分でプロパティ名が誤っているものや、HTML側のclass指定が定義したアニメーションクラスと一致していないものがあります。上記のコードはその点を修正し、そのままコピー&ペーストすれば実際に動作する形に整えています。

  1. CSSでrotateOutUpRight(右上へ回転して退場)アニメーションを実装する方法

    CSSを使えば、要素が右下を軸として時計回りに90度回転しながら画面から消えていく「rotateOutUpRight(右上へ回転して退場)」アニメーションを簡単に実装できます。この記事では、@keyframesルールとtransform-originプロパティを組み合わせた具体的な実装例を紹介します。 rotateOutUpRightアニメーションの仕組み このアニメーションは、以下のCSSプロパティを組み合わせて実現します。 transform-origin:回転の軸となる基準点を指定します。ここでは「right bottom(右下)」を指定しています。 transform: rotate

  2. CSSで実現する「右下を支点に回転しながら消える」アニメーション効果の作り方

    CSSのアニメーションを使えば、要素を右下(right bottom)を支点として回転させながらフェードアウトさせる演出が簡単に実装できます。この効果は一般的に rotateOutDownRight と呼ばれ、要素が画面から消える際の退場アニメーションとしてよく活用されます。rotateOutDownRightアニメーションの仕組みこのアニメーションでは、以下のCSSプロパティが重要な役割を果たします。transform-origin: right bottom; … 回転の基準点を要素の右下に設定します。transform: rotate(-90deg); … 要素を反時計回りに90度回転さ