CSSのグラデーション(Gradient)は、単色ではなく複数の色を滑らかに変化させる表現方法です。背景やボーダー、文字装飾など、さまざまなデザインに活用できます。本記事では、CSSグラデーションの基本から応用まで詳しく解説します。
1. CSSグラデーションとは?
CSSグラデーションは、background
プロパティなどで設定でき、以下の2種類があります。
- 線形グラデーション(linear-gradient):直線状に色が変化
- 放射状グラデーション(radial-gradient):円形に色が変化
2. 線形グラデーション(Linear Gradient)
線形グラデーションは、linear-gradient()
関数を使って定義します。
基本構文
background: linear-gradient(方向, 色1, 色2, 色3, ...);
例1:上から下へ(デフォルト)
background: linear-gradient(rgb(226,241,254), rgb(238,230,255), rgb(255,240,255));
例2:左から右へ
background: linear-gradient(to right, rgb(226,241,254), rgb(238,230,255), rgb(255,240,255));
例3:45度の角度
background: linear-gradient(45deg, rgb(226,241,254), rgb(238,230,255), rgb(255,240,255));
例4:途中で色を指定
background: linear-gradient(90deg, rgb(226,241,254) 0%, rgb(238,230,255) 50%, rgb(255,240,255) 100%);
3. 放射状グラデーション(Radial Gradient)
放射状グラデーションは、中心から外に向かって色が変化します。
基本構文
background: radial-gradient(形, 色1, 色2, 色3, ...);
例1:円形グラデーション(デフォルト)
background: radial-gradient(circle, rgb(226,241,254), rgb(238,230,255), rgb(255,240,255));
例2:楕円形グラデーション
background: radial-gradient(ellipse, rgb(226,241,254), rgb(238,230,255), rgb(255,240,255));
例3:グラデーションの中心を変更
background: radial-gradient(circle at 30% 70%, rgb(226,241,254), rgb(238,230,255), rgb(255,240,255));
4. 円錐グラデーション(Conic Gradient)
conic-gradient()
を使うと、円の中心から角度に沿って色が変化します。
基本構文
background: conic-gradient(色1, 色2, 色3, ...);
例1:基本的な円錐グラデーション
background: conic-gradient(rgb(226,241,254), rgb(238,230,255), rgb(255,240,255));
例2:グラデーションの角度を調整
background: conic-gradient(from 45deg, rgb(226,241,254), rgb(238,230,255), rgb(255,240,255));
5. グラデーションの応用
5.1 ボーダーにグラデーションを適用
ボーダーには直接グラデーションを適用できませんが、border-image
や擬似要素を活用すると実現できます。
.border-grad {
position: relative;
display: inline-block;
padding: 20px;
}
.border-grad::before {
content: "";
position: absolute;
top: -2px;
left: -2px;
right: -2px;
bottom: -2px;
padding: 2px;
background: linear-gradient(180deg, rgb(226,241,254), rgb(238,230,255), rgb(255,240,255));
-webkit-mask: linear-gradient(white, white) content-box, linear-gradient(white, white);
-webkit-mask-composite: xor;
mask-composite: exclude;
}
5.2 テキストにグラデーションを適用
テキスト自体にグラデーションを適用するには、background-clip: text
を使います。
.text-grad {
background: linear-gradient(90deg, rgb(226,241,254), rgb(238,230,255), rgb(255,240,255));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
<p class="text-grad">グラデーションテキスト</p>
6. まとめ
- 線形グラデーション(linear-gradient) は直線状に色が変化
- 放射状グラデーション(radial-gradient) は中心から外に向かって色が変化
- 円錐グラデーション(conic-gradient) は円の角度ごとに色を変化
- ボーダーやテキストにグラデーションを適用することも可能
CSSのグラデーションを活用すれば、シンプルなデザインにアクセントを加えることができます。ぜひ、自分のプロジェクトで試してみてください!