はじめに
HTML&CSS入門講座の第二十一弾として、【CSS】グラデーションの背景、文字、ボタン、box-shadow、animatio、ジェネレイターなども解説ついて紹介します。
この記事を読むと次の疑問について知ることができます。
- CSSのグラデーションとは?
- CSSグラデーションの書き方はどうすればよいの?
- 上下、左右の線形グラデーション
- 斜めのグラデーション
- 角度を付けたグラデーション
- グラデーションの位置を変える
- 多色のグラデーション
- 放射グラデ―ション(円形グラデーション)
- 文字をグラデーションしてみましょ!
- ボタンのグラデーションを作成してみよう!
- 画像にグラデーションを重ねるにはどうすればよいの?
- グラデーションのアニメーションはどうするの>
- グラデーションのanimation、ジェネレイターのサイトはどこのあるの?
CSSのグラデーションとは?
よくネットサーフィンをしていると、トップページに奇麗な色の変化を(ある色からある色へ自然に連続的に変化する)使ったサイトを見かけます。
このような、ある色からある色へ徐々に連続的に変化させることをcssでもできるのです。
CSSグラデーションの書き方
線形グラデーションは、指定した要素の背景にcssの「background」または「background-image」プロパティにlinear-gradientを記述します。
上下、左右の線形グラデーション
上下、左右のグラデーションの書き方は、次の通りです。
4つのボックス(幅:画面の大きさにより変わる100%、縦:150px)を作り、それをdisplayプロパティのflexで横並びとして、グラデーションとして赤からオレンジへ連続的に変化させるグラデーションを作成してみました。
ここで、HTML、CSSの埋め込みには、 JSFiddleを利用させていただいています。
HTML、CSS、Resultのタブをクリックすることにより、それぞれのコードや結果の表示を見ることができます。
結果の表示では、全部表示されない場合は、横にスライドバーが表れますので、そのスライドバーを操作することにより、結果の全てを見ることができます。
斜めのグラデーション
斜めのグラデーションの書き方は次の通りです。
4つのボックス(幅:画面の大きさにより変わる100%、縦:150px)を作り、それをdisplayプロパティのflexで横並びとして、グラデーションとして赤からオレンジへ連続的に変化させるグラデーションを作成してみました。
角度を付けたグラデーション
角度を付けたグラデーションの書き方は次の通りです。
角度が0degの場合は、下から上へのグラデーションになり、90degを指定すれば、左から右へのグラデ―ションとなります。
ここでも、5つのボックス(幅:画面の大きさにより変わる100%、縦:150px)を作り、それぞれに角度を60deg、120deg、180deg、240deg、320deg設定し、それをdisplayプロパティのflexで横並びとして、赤からオレンジへ連続的に変化させるグラデーションを作成してみました。
グラデーションの位置を変える
今までは、最初の色を指定してから最後の色まで連続的に色を変化させていましたが、最初の位置からある%までは最初に指定した色で、ある%位置から最後まで連続的にグラデーションをするということができます。
グラデーションの位置指定したグラデーションの書き方は次の通りです。
4つのボックス(幅:画面の大きさにより変わる100%、縦:150px)を作り、それぞれのボックスで位置指定を20%、40%、60%、80%として、それをdisplayプロパティのflexで横並びとして、グラデーションとして赤からオレンジへ連続的に変化させるグラデーションを作成してみました。
多色のグラデーション
これまでは、2色間のグラデーションでしたが色の数を3色以上にすることが可能です。
多色グラデーションの書き方は次の通りです。
放射グラデ―ション(円形グラデーション)
周りに放射する形でグラデーションを指定することができます。
線形グラデーションと同様に、%指定、多色なども行えます。
放射グラデーションの書き方は次の通り。
文字をグラデーションしてみましょう!
文字をグラデーションするためには、cssで3つの指定をしてやる必要があります。
それでは、早速、htmlの見だしh1タグに文字(定年後のスローラフブログ)を3色(skyblue、赤色、青色)のグラデーションを設定してしてみました。
ボタンのグラデーションを作成してみよう!
最もボタンで利用するhtmlのリンクタグである<a>を使って、ボタンにグラデーションを付けて見ます。
<a>タグの使い方は、次の通り
画像にグラデーションを重ねる
花の画像(276×200px)の画像に放射状のグラデーション(rgba(241, 8, 39, 0.5)⇒rgba(136, 255, 0,0.8)をかけてみました。
右がグラデーションをかけた方で、左が元画像です。
グラデーションのアニメーション
htmlのbody要素全体の背景にグラデーションをかけ、そこに、前に解説した文字のグラデーションとボタンのグラデーションを置いたものを次の載せますので参考にしてください。
背景が時間とともに少しずつ色の変化が起きるのが分かると思いますのでじっくりと見てみて下さいね。
グラデーションのanimation、ジェネレイターのサイト
今まで、グラデーションの基本を解説してきましたが、応用やアニメーションなどはanimation、ジェネレイターのサイトがありますので、そちらを参考にすると良いでしょう。
サイト名 | サイトの画像 | サイトの簡単な内容 |
CSS Gradient Animator | ![]() |
2色だけでなく色を追加してグラデーションのアニメーションが作成可能なサイト |
Ultimate CSS Gradient Generator | ![]() |
PhotoShopのグラデーションを作成する時のような感じで、直感的に操作でき、色相や彩度、透過度、グラデーションがかかる方向を指定でき、グラデーションを作成できるサイト |
CSS Gradient Generator | ![]() |
直観的に色を指定してグラデーションを作成できるサイト |
GradPad | ![]() |
カラーの追加・削除、向きなどをドラッグで操作しグラデーションを作成できるサイト |
おわりに
如何だったでしょうか?
CSSのグラデーションとは?、CSSグラデーションの書き方はどうすればよいの?、上下、左右の線形グラデーション、斜めのグラデーション、角度を付けたグラデーション、グラデーションの位置を変える、多色のグラデーション、放射グラデ―ション(円形グラデーション)、文字をグラデーションしてみましょ!、ボタンのグラデーションを作成してみよう!、画像にグラデーションを重ねるにはどうすればよいの?、グラデーションのアニメーションはどうするの?グラデーションのanimation、ジェネレイターのサイトはどこのあるの?などについて解説してきました。
この記事があなたにとって少しでもお役に立てればこれほど嬉しいことはありません。
以上です。
コメント