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制作を中心に日々学びになったこと、興味が沸いたことについて初心者の方でもわかりやすいようにアウトプットしていくブログです。

関連記事

コピペで完了!CSSグラデーション(linear-gradient)まとめ

コピペで完了!CSSグラデーション(linear-gradient)まとめ

【基本編】JavaScriptのマウスイベントでドラッグ&ドロップ機能を実装する

【基本編】JavaScriptのマウスイベントでドラッグ&ドロップ機能を実装する

【Three.js】スクロールにあわせてメッシュを動かす方法

【Three.js】スクロールにあわせてメッシュを動かす方法

clamp関数がSafariで効かない時の対処法

clamp関数がSafariで効かない時の対処法

jQueryでURLやパラメータを取得する方法【location】

jQueryでURLやパラメータを取得する方法【location】

【CSS】mix-blend-modeで乗算などを表現する方法

【CSS】mix-blend-modeで乗算などを表現する方法