Home
CSS
【CSSのみ】背景のグラデーションを変化させるアニメーション

【CSSのみ】背景のグラデーションを変化させるアニメーション

【CSSのみ】背景のグラデーションを変化させるアニメーション

どうも!かけちまるです!

背景グラデーションの色が徐々に変化するアニメーションを実装します。

CSSのみで実装できます。
次のようなアニメーションができます。

See the Pen Untitled by kakechimaru (@kakechimaru) on CodePen.

この記事では、

  • ・背景グラデーションの色をアニメーションさせる方法

がわかります。

背景グラデーションの色をアニメーションさせる方法

HTMLはボックスを作るために空のdevタグを用意します。

HTML
コピー
<div class="bg"></div>

CSSは、
まず、.box要素にwidthheigthをあて、linear-gradientで背景をグラデーションにします。
次に、background-size.box要素の背景を大きめに指定します。
最後に、keyframebackground-positionを変化させます。

こうすると背景グラデーションの色が変化するように見えるわけです。

CSS
コピー
.bg{ background: linear-gradient(135deg, red, orange); background: -webkit-linear-gradient(-45deg, red, orange); background: -moz-linear-gradient(-45deg, red, orange); width: 300px; height: 300px; background-size: 150% 150%; animation-name: gradation; animation-duration: 5.0s; animation-iteration-count: infinite; animation-direction: alternate; animation-timing-function: ease-in-out; } @keyframes gradation{ 0%{ background-position: 0% 0%; } 100%{ background-position: 100% 100%; } }

アニメーションの原理

図に表すと次のような感じで動いています。

アニメーションの原理

background-sizeで背景を要素より大きく設定し、background-positionで時間と共に位置を変えることでグラデーションが変化して見えるようになるわけです。

おわり

かけちまる
かけちまる
Webエンジニアをしています。
HTML/CSS/JavaScript/jQuery/PHPができます。
WEB制作を中心に日々学びになったこと、興味が沸いたことについて初心者の方でもわかりやすいようにアウトプットしていくブログです。

関連記事

WordPressでショートコードを自作する方法

WordPressでショートコードを自作する方法

【Three.js】カメラの距離を調節してWebGL座標をwindow座標(px)に合わせる

【Three.js】カメラの距離を調節してWebGL座標をwindow座標(px)に合わせる

CSS変数(カスタムプロパティ)の使い方

CSS変数(カスタムプロパティ)の使い方

【PHP】配列の要素の数を取得する

【PHP】配列の要素の数を取得する

Three.jsをCDNから読み込む方法

Three.jsをCDNから読み込む方法

画像形式をWebPに変換するツール6選

画像形式をWebPに変換するツール6選