CSSでFlipInXアニメーション効果を実装する方法
CSSのFlipInXアニメーションは、要素がX軸を中心に回転しながら画面に登場する、立体感のある演出効果です。バナー画像やロゴなどを目立たせたい場面で活用できます。
このアニメーションは、@keyframesルールとtransform: perspective()プロパティを組み合わせることで実現します。要素は最初90度傾いて見えない状態から始まり、途中でわずかにオーバーシュートしながら最終的に正面へと戻ることで、自然な「フリップ」感を生み出します。
実装のポイント
- perspective(400px): 立体感(奥行き)を表現するために指定します。
- rotateX(): X軸を中心とした回転角度を制御します。
- opacity: アニメーションの開始時(0%)は透明、終了時(100%)は不透明にすることで、滑らかな出現効果を作ります。
- backface-visibility: visible: 要素の裏面が表示されるように設定します。
コード例
以下のコードを実行すると、FlipInXアニメーション効果を確認できます。「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: 1s;
animation-duration: 1s;
-webkit-animation-fill-mode: both;
animation-fill-mode: both;
}
@-webkit-keyframes flipInX {
0% {
-webkit-transform: perspective(400px) rotateX(90deg);
opacity: 0;
}
40% {
-webkit-transform: perspective(400px) rotateX(-10deg);
}
70% {
-webkit-transform: perspective(400px) rotateX(10deg);
}
100% {
-webkit-transform: perspective(400px) rotateX(0deg);
opacity: 1;
}
}
@keyframes flipInX {
0% {
transform: perspective(400px) rotateX(90deg);
opacity: 0;
}
40% {
transform: perspective(400px) rotateX(-10deg);
}
70% {
transform: perspective(400px) rotateX(10deg);
}
100% {
transform: perspective(400px) rotateX(0deg);
opacity: 1;
}
}
.flipInX {
-webkit-backface-visibility: visible !important;
-webkit-animation-name: flipInX;
backface-visibility: visible !important;
animation-name: flipInX;
}
</style>
</head>
<body>
<div id = "animated-example" class = "animated flipInX"></div>
<button onclick = "myFunction()">Reload page</button>
<script>
function myFunction() {
location.reload();
}
</script>
</body>
</html>アニメーションの仕組み解説
このコードでは、キーフレームごとに以下のような動きを定義しています。
- 0%: 要素はX軸方向に90度回転し、完全に透明な状態です。
- 40%: -10度まで回転し、少し行き過ぎた動きを見せます。
- 70%: 今度は10度へ戻りながら揺り戻しを表現します。
- 100%: 0度(正面)に戻り、完全に表示されます。
このようなオーバーシュートと揺り戻しを組み合わせることで、機械的な回転ではなく、弾力のある自然なアニメーションになります。-webkit-プレフィックス付きの記述も含まれているため、SafariなどWebKit系ブラウザでも同様に動作します。
-
CSSで実現するTada(タダ)アニメーション効果の作り方
CSSを使えば、要素に「Tada」と呼ばれる揺れるようなアニメーション効果を簡単に追加できます。Tadaアニメーションは、要素が左右に傾きながら拡大・縮小を繰り返すことで、ユーザーの注意を引きつける演出としてよく使われます。ロゴやボタンを目立たせたい場面などに効果的です。以下のコードを実行すると、実際にTadaアニメーションの動作を確認できます。サンプルコード<html> <head> <style> .animated {
-
CSSで作るスイングアニメーション効果の実装方法
スイング(Swing)アニメーションは、吊り下げられた要素や軸を中心とした要素を、前後・左右に揺らす動きを表現できるCSSアニメーション効果です。振り子のような自然な揺れを再現でき、ロゴやバナー、アイコンなどに注目を集める演出として活用できます。 スイングアニメーションの仕組み スイングアニメーションは、主に次のCSS機能を組み合わせて実装します。 transform-origin: top center; … 要素の上部中央を回転の基点に設定し、ぶら下がっているように見せる @keyframes と rotate() … 回転角度を15°→ -10°→ 5°→ -5°→ 0°と段階的に変化