Little Strange Software

スマホアプリの開発を行う LittleStrangeSoftware のブログです。

【CSS】今さら!?知らなかった第三のグラデーション、conic-gradient

f:id:little_strange:20211019232613p:plain

 

 どうも!LSSです!!

 

これまで、CSSのグラデーション(linear-gradient radial-gradient)で遊んできましたが…今日初めて知ってびっくり!

CSSのグラデーションは「もう1種類」あったようです!!

 

 

conic-gradientのテスト

conic-gradient

 

コード

<style>
.conictest{
background-image:conic-gradient(#ff8888,#ffff88,#8888ff,#ff8888);
width:300px;
height:200px;
}
</style>
<div class="conictest">conic-gradient</div>

 

background-image:conic-gradient(#ff8888,#ffff88,#8888ff,#ff8888);

が、その書式で、( )の中に色を並べるのは linear-gradient や radial-gradient と同様ですね。

 

linear-gradientは一直線に、radial-gradientは円形で中央から外に向かってグラデーションしますが、この conic-gradient は扇形に展開します。

円グラフのような感じですね。

 

 

repeating-conic-gradient

linear-gradient や、 radial-gradient にもあったように、「repeating-」を付けたバージョンも存在します。

 

repeating-conic-gradient

 

コード

<style>
.rpconictest{
background-image:repeating-conic-gradient(#ff8888,#ffff88,#8888ff,#ff8888 72deg);
width:300px;
height:200px;
}
</style>
<div class="rpconictest">repeating-conic-gradient</div>

 

最後に「72deg(72度)」で止める事で、その後が繰り返しになります。

1周が360degなので、72度だと5回繰り返す事になります。

 

 

という事は、こんな事もCSSで出来ちゃいますね!

な…なんだってー!?

 

コード

<style>
.rpconictest2{
background-image:
radial-gradient(circle at 50% 50%,#ffffffff 40%,#ffffff00 80%),
repeating-conic-gradient(black 4deg,white 5deg,white 9deg,black 10deg);/*白黒交互のconicの上に、白→透明なradial*/
width:300px;
height:200px;
padding-top:80px;/*上から80pxの余白で縦位置調整*/
text-align:center;/*左右中央寄せ*/
}
</style>
<div class="rpconictest2">な…なんだってー!?</div>

 

 

black 4deg,white 5deg,white 9deg,black 10deg

という短い範囲で白と黒を繰り返す conic-gradient を描画し、

#ffffffff 40%,#ffffff00 80%

という、白から透明に変化する radial-gradient をその上に重ねる事で、「中央を白抜きした集中線」のような効果になります^^

 

 

あとがき

手元の書籍には2種類しか載っていなかったので、てっきりその2種類だけなんだと思っていたら…これまで散々グラデーションで遊んできたのに、とビックリですw

 

この conic-gradient 、今日初めて存在を知りましたが…どっかでこんな感じのものを見た覚えがあるような?

と、過去記事を検索してみると、

little-strange.hatenablog.com

↑に、スマホアプリを作る時のXMLでレイアウトを作る際に、そっちでは「sweep」という名前で同様のグラデーションがありました!

 

スマホアプリ用のXMLと、Web用のHTML+CSS、結構同じような事ができるんですね^^

 

今回、conic-gradientの存在を知ったのは、

developer.mozilla.org

のサイトからでした。

 

3種類のgradient(それぞれrepeating-もあるから6種類といってもいいかも)、組み合わせる事もできるので、さらに表現の幅がひろがりそうですね^^

 

 

 

ってなとこで、今回はこのへんで!

次回もまた、よろしくお願いします^^