Radial-Gradient()を使用して綺麗な円形のグラデーションを描く方法
radial-gradient()の基本
中心から外に向かってグラデーションをかけます
background: radial-gradient(red, blue);
background: radial-gradient(red 0, blue 100%);
gra1
gra11
デフォルトで、円の中心はコンテナの中心であり、円の形状はコンテナに添うように楕円にもなります。
真円の指定
円の形状を指定できます
- circle
- ellipse(default)
background: radial-gradient(circle, red, blue);
gra2
円がまん丸ですね。
中心の移動
at Number で移動できます。
background: radial-gradient(circle at 90% 40%, white, green, white);
gra3
gra31
数値を1つだけ指定した場合は横軸方向を示していました。
background: radial-gradient(circle at 20px, white, green, white);
gra34
background: radial-gradient(circle at bottom, white, green, white);
gra32
gra33
“at” に続いて”center”, “bottom” などのキーワードも使用できます。
円の縁
アビスの定義があります。
グラデーションの縁を、どの辺まで、どの角まで、描画するか指定できます。
- closest-side: 一番近い辺
- closest-corner: 一番近い角
- farthest-side: 一番遠い辺
- farthest-corner: 一番遠い角
closest-side
closest-corner
farthest-side
farthest-corner
circle closest-side
circle closest-corner
circle farthest-side
circle farthest-corner
closest-side at 70% 70%
closest-corner at 70% 70%
farthest-side at 70% 70%
farthest-corner at 70% 70%
circle closest-side at 70% 70%
circle closest-corner at 70% 70%
circle farthest-side at 70% 70%
circle farthest-corner at 70% 70%
background: radial-gradient(circle farthest-corner at 70% 70%, white, green, white);
使いどころを想像すると、グラデーションをできるだけすべて表示したい時は、closest-side かな? そんでもって、エリア全体を覆いつくすように隙間なくグラデーションしたい場合は、farthest-corner かな? と思いましたよ。
~おわり~