CSSでグラデーションをつける
ここではCSSでグラデーションをつける方法を解説していきます。主な項目は以下の5つになります。
CSS3からbackground-imageの値に設定できるようになったlinear-gradientは、グラデーションの開始と終了を指定して様々な背景を作ることができます。また、グラデーションを指定する場合は、Safariのためにベンダープレフィックスをつける必要があります。(-webkit-linear-gradient)
グラデーションをつける
では、ここからCSSプロパティbackground-imageの値、linear-gradientを使って200×200pxのボックスを使って、いろいろなグラデーションを表示してみましょう。
値の入力の仕方は以下のような形になります。開始と終了の色を#から始まるカラーコードや、redやblueなどのキーワードで設定することもできます。
例 background-image: linear-gradient(開始の色,終了の色);
CSSプロパティ | 解説 |
background-image | 背景を設定する |
background-imageの値 | 解説 |
linear-gradient( , ) | グラデーション(カッコに開始色と終了色を設定) |
HTMLコード記述例
<div class="test1">
<p>テスト1</p>
</div>
外部ファイルCSS記述例
@charset "utf-8";
div.test1 {
width: 200px;
height: 200px;
border: solid 1px #cccccc;
background-image: -webkit-linear-gradient(red,blue);
background-image: linear-gradient(red,blue);
color: #ffffff;
}
ブラウザ表示例
テスト1
3色のグラデーションをつける
では次に赤と青の間に黄色を入れてグラデーションを3色にしてみましょう。値の順番をred,yellow,blueと3つ指定します。
HTMLコード記述例
<div class="test2">
<p>テスト2</p>
</div>
外部ファイルCSS記述例
@charset "utf-8";
div.test2 {
width: 200px;
height: 200px;
border: solid 1px #cccccc;
background-image: -webkit-linear-gradient(red,yellow,blue);
background-image: linear-gradient(red,yellow,blue);
color: #ffffff;
}
ブラウザ表示例
テスト2
グラデーションの開始位置を指定する
何も設定しなければグラデーションは2色の場合50%,50%に分かれます。カラーコードの後に%を指定することで、グラデーションの開始を設定することができます。
HTMLコード記述例
<div class="test3">
<p>テスト3</p>
</div>
外部ファイルCSS記述例
@charset "utf-8";
div.test3 {
width: 200px;
height: 200px;
border: solid 1px #cccccc;
background-image: -webkit-linear-gradient(red 80%, blue);
background-image: linear-gradient(red 80%, blue);
color: #ffffff;
}
ブラウザ表示例
テスト3
グラデーションの方向を設定する
カラー指定の前にグラデーションの方向を設定することができます。
左から右の場合[to right]
左上から右下の場合[to bottom right]
と入力します。ただし、Safari用の指定では開始位置を入力するので注意が必要です。(例:left top)
HTMLコード記述例
<div class="test4">
<p>テスト4</p>
</div>
外部ファイルCSS記述例
@charset "utf-8";
div.test4 {
width: 200px;
height: 200px;
border: solid 1px #cccccc;
background-image:
-webkit-linear-gradient(left top,red,blue);
background-image:
linear-gradient(to bottom right,red,blue);
color: #ffffff;
}
ブラウザ表示例
テスト4
グラデーションの方向の代わりに角度を指定することもできます、単位に[deg]つけて値を入力します。例:(45deg,red,blue)
中心からグラデーションをつける
最後に中心から外側にむけてのグラデーションの設定方法です。
background-imageの値にradial-gradientを指定します。
HTMLコード記述例
<div class="test5">
<p>テスト5</p>
</div>
外部ファイルCSS記述例
@charset "utf-8";
div.test5 {
width: 200px;
height: 200px;
border: solid 1px #cccccc;
background-image:
-webkit-radial-gradient(red,blue);
background-image:
radial-gradient(red,blue);
color: #ffffff;
}
ブラウザ表示例
テスト5
ボックスの形が長方形の場合中心からのグラデーションは楕円の形になります。色の指定の前に[circle]を入力すると長方形のボックスでも、正円のグラデーションに設定することができます[例:(circle,red,blue)]