CSSを使って背景や枠線をグラデーションにする方法
今回は背景や枠線をグラデーションにする方法をご紹介します。
背景色をグラデーションにする
背景色をグラデーションにするために「backgroundプロパティ」を使いますが、普通であれば値にはカラー名や#000000などを設定しますが、今回は『linear-gradient()』を使います。
linear-gradient()関数
deg(単位)やtoに続けてtop、bottom、left、rightと角度方向を指定します。
0deg = to top、90deg = to right、180deg = to bottom、270deg = to left
開始色、途中色、終了色は普通にカラー名などで指定します。
背景色をグラデーション
実際に背景をグラデーションしてみましょう。
<div style="margin:20px; padding:0 10px; background:linear-gradient(#a61919,white); font-weight:bold;">指定なし</div>
HTMLタグ内にCSSを指定しているのでちょっとわかりづらいかもしれません。グラデーションの指定はbackground:linear-gradient(#a61919 , #ffffff);と背景のグラデーションの方向を指定せず開始色と終了色のみ指定したっ場合上のようになります。
ではこれを元にグラデーションの方向を指定してみます。
方向の指定は開始色の前に入れます。方向、色はKa , (カンマ)で区切ります。
background:linear-gradient(方向 , #a61919 , #ffffff);
to topに半角スペースを入れてrightを入れて二方向に指定するとこんな感じになります。
開始色、途中色、終了色を指定
<div style="margin:20px; padding:0 10px; background:linear-gradient(to right,red,yellow,blue); font-weight:bold;">3色指定</div>
グラデーションの指定をbackground:linear-gradient(to right , red , yellow ,blue);と3色指定しています。
色の指定を増やせば3色以上の指定もできます。
枠線をグラデーション
.sample {
border-style:solid; /*線の種類*/
border-width:8px 0; /*線の太さ*/
border-Image:linear-gradient(to right,red,yellow,green); /*グラデーション*/
border-image-slice:1;
}
枠線をグラデーションにするためにborder-imageプロパティを使います。
グラデーションの指定は上で説明したlinear-gradient( )関数を使います。
5行目の『border-image-slice』はボーダー画像の使用範囲を指定するものです。
これを入れないとborder-imageで指定した枠線(グラデーション)が表示されません。
なのでborder-image-slice:1;と指定してください。
線の種類と太さ
線の種類と太さの設定は下に枠線を入れたい場合border-bottom:太さ 線の種類;などで枠線をつけたい部分を指定してもOKです。
お使いのテーマによってデフォルトで枠線が指定されている場合があります。border-bottomなどで枠線をつけたい部分だけ指定すると指定していない部分も枠線が表示されてしまうので、私は線の種類と太さの設定を分けて指定しています。
border-style(線の種類)とborder-width(枠線の太さ)の値の指定方法
値2つ・・・上下 左右
値3つ・・・上 左右 下
値4つ・・・上 右 下 左
最後に
背景や枠線をグラデーションにするとサイトや記事がちょっとオシャレになります。
グラデーションを指定するlinear-gradient( )関数を使いました。
『関数』と聞くと難しそうですが、方向や色を指定するだけなので初心者の人でもできると思います。
枠線をグラデーションにする方法ではセレクタに『.sample』とクラス名をつけていますが、h2やh3などの見出しタグなどにすれば見出しの枠線をグラデーションにすることができます。
ぜひやってみてください。
ディスカッション
コメント一覧
こんばんは。
今回も専門的な記事ですけど、知ってるといろいろなことができるのですね。
難しいと思わずにやってみることが大切ですね。ありがとうございます。
> takafumiさん
こんにちは。
いつもコメントありがとうございます。
CSSは難しいかもしれませんが、サイトや記事をわかりやすく読みやすくするためには必要だと思います。
簡単なものだけでも覚えておいて損はないと思いますよ(^-^)