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

関連記事

【Three.js基礎】概念の理解と立方体の実装

【Three.js基礎】概念の理解と立方体の実装

CSSだけでぷよぷよしたアニメーションの実装方法

CSSだけでぷよぷよしたアニメーションの実装方法

【公式あり】jQueryでスクロール量に連動してアニメーションを実装する

【公式あり】jQueryでスクロール量に連動してアニメーションを実装する

【WordPress】PHPテンプレートでショートコードを使う方法

【WordPress】PHPテンプレートでショートコードを使う方法

【WordPress】記事の公開日と最終更新日を表示

【WordPress】記事の公開日と最終更新日を表示

【modal-video.js使い方】YouTube、Vimeoをポップアップ再生する方法

【modal-video.js使い方】YouTube、Vimeoをポップアップ再生する方法