CSSで画像を右へスライドさせながらフェードアウトさせるアニメーションの実装方法
CSSを使えば、JavaScriptに頼らなくても、要素を右方向へスライドさせながらフェードアウトさせるアニメーションを簡単に実装できます。この記事では、@keyframesとopacity・transformプロパティを組み合わせた「Fade Out Right(右へ消える)」エフェクトの具体的なコード例を紹介します。
実装コード例
以下のコードでは、ロゴ画像に対して10秒かけて右へ20px移動しながら、透明度が1(不透明)から0(完全に透明)へ変化するアニメーションを適用しています。「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 fadeOutRight {
0% {
opacity: 1;
-webkit-transform: translateX(0);
}
100% {
opacity: 0;
-webkit-transform: translateX(20px);
}
}
@keyframes fadeOutRight {
0% {
opacity: 1;
transform: translateX(0);
}
100% {
opacity: 0;
transform: translateX(20px);
}
}
.fadeOutRight {
-webkit-animation-name: fadeOutRight;
animation-name: fadeOutRight;
}
</style>
</head>
<body>
<div id="animated-example" class="animated fadeOutRight"></div>
<button onclick="myFunction()">Reload page</button>
<script>
function myFunction() {
location.reload();
}
</script>
</body>
</html>
コードのポイント解説
1. @keyframesでアニメーションの動きを定義する
@keyframes fadeOutRightの中では、開始時点(0%)にopacity: 1(不透明)とtranslateX(0)(元の位置)を指定し、終了時点(100%)にopacity: 0(完全に透明)とtranslateX(20px)(右へ20px移動)を指定しています。この2つの状態をつなぐことで、「右へ流れるように消えていく」という自然な演出が生まれます。
2. 所要時間と終了後の状態を制御する
animation-duration: 10s;でアニメーション全体の所要時間を10秒に設定しています。また、animation-fill-mode: both;を指定することで、アニメーションの開始前・終了後もキーフレームで定義したスタイルが保持され、意図しない表示への戻りを防げます。
3. ベンダープレフィックスについて
コードには-webkit-付きの記述が含まれています。これは古いSafariやiOS SafariなどWebKit系ブラウザ向けの互換性対応です。現在の主要ブラウザでは標準の@keyframesやanimation-nameだけで動作しますが、レガシーブラウザもサポートしたい場合は併記しておくと安心です。
まとめ
単に要素を非表示にするだけでなく、移動と透明度の変化を組み合わせることで、より洗練されたUI演出が可能になります。translateX()の値やanimation-durationの秒数を変更すれば、移動距離やスピードを自由に調整できるので、サイトのデザインに合わせてカスタマイズしてみてください。
-
CSSでrotateOutUpRight(右上へ回転して退場)アニメーションを実装する方法
CSSを使えば、要素が右下を軸として時計回りに90度回転しながら画面から消えていく「rotateOutUpRight(右上へ回転して退場)」アニメーションを簡単に実装できます。この記事では、@keyframesルールとtransform-originプロパティを組み合わせた具体的な実装例を紹介します。 rotateOutUpRightアニメーションの仕組み このアニメーションは、以下のCSSプロパティを組み合わせて実現します。 transform-origin:回転の軸となる基準点を指定します。ここでは「right bottom(右下)」を指定しています。 transform: rotate
-
CSSで実現する「右下を支点に回転しながら消える」アニメーション効果の作り方
CSSのアニメーションを使えば、要素を右下(right bottom)を支点として回転させながらフェードアウトさせる演出が簡単に実装できます。この効果は一般的に rotateOutDownRight と呼ばれ、要素が画面から消える際の退場アニメーションとしてよく活用されます。rotateOutDownRightアニメーションの仕組みこのアニメーションでは、以下のCSSプロパティが重要な役割を果たします。transform-origin: right bottom; … 回転の基準点を要素の右下に設定します。transform: rotate(-90deg); … 要素を反時計回りに90度回転さ