CSSで簡単!フェードインしながら左から右へ移動するアニメーションの作り方

CSSで簡単!フェードインしながら左から右へ移動するアニメーションの作り方

CSSを使用して、要素がフェードインしながら左から右へ移動するアニメーションを作成する方法を以下に示します。


フェードインして移動します

HTML

以下は、フェードイン&左から右へのアニメーションを適用するHTMLの例です。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>フェードインアニメーション</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="fade-in-left">フェードインして移動します</div>
</body>
</html>

CSS

以下は、アニメーションを定義したCSSコードです。

body {
margin: 0;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
background-color: #f0f0f0;
}

.fade-in-left {
opacity: 0; /* 初期状態では透明 */
transform: translateX(-100px); /* 左にオフセット */
animation: fadeInLeft 1.5s ease-out forwards; /* アニメーションを適用 */
background-color: #4CAF50;
color: white;
padding: 20px 40px;
border-radius: 8px;
font-size: 1.5rem;
text-align: center;
}

/* アニメーションの定義 */
@keyframes fadeInLeft {
0% {
opacity: 0;
transform: translateX(-100px);
}
100% {
opacity: 1;
transform: translateX(0);
}
}

ポイント

  1. opacity: 0transform: translateX(-100px):
    • アニメーションの初期状態を設定します。
    • opacityで透明度、transformで位置を指定。
  2. animation: fadeInLeft 1.5s ease-out forwards;:
    • アニメーション名はfadeInLeft
    • 1.5sはアニメーションの持続時間。
    • ease-outで終了を滑らかに。
    • forwardsでアニメーション後の状態を保持。
  3. @keyframes:
    • 0%(開始)と100%(終了)の状態を設定。

動作確認

このコードをブラウザで開くと、要素が画面左から右へ移動しながら徐々に表示される(フェードイン)効果を確認できます。

必要に応じてアニメーション時間や距離、タイミング関数(ease-inlinear)を調整してください!