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

関連記事

webpack環境で画像追加を監視して自動圧縮&WebP変換する方法

webpack環境で画像追加を監視して自動圧縮&WebP変換する方法

【PHP】foreachで配列の最初と最後を判定する

【PHP】foreachで配列の最初と最後を判定する

【WPプラグイン不使用】目次を自動生成する方法

【WPプラグイン不使用】目次を自動生成する方法

CSSでサイトのスクロールを無効にする方法

CSSでサイトのスクロールを無効にする方法

【Contact Form7】ログインユーザーのためにテキスト項目にデフォルト値を設定する

【Contact Form7】ログインユーザーのためにテキスト項目にデフォルト値を設定する

【GSAP入門】使い方となにができるのか

【GSAP入門】使い方となにができるのか