Little Strange Software

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

【CSS】虹色の枠線(border)

 どうも!LSSです!!

 

little-strange.hatenablog.com

に続き、虹色の枠線(border)を考えてみました。

 

 

虹色の枠線

虹色の枠線ができました^^
border-imageはやはり手強いですが、だいぶ分かってきた…かも?

 

 

コード

<style>
.bdimg{
border:50px solid;
border-image:radial-gradient(at 50% 50%,transparent 14%,purple 15% 19%,blue 20% 24%,lightblue 25% 29%,green 30% 34%,yellow 35% 39%,orange 40% 44%,red 45% 49%,transparent 50%) 49%;
}
</style>
<div class="bdimg">虹色の枠線ができました^^<br />border-imageはやはり手強いですが、だいぶ分かってきた…かも?</div>

または、

<div style="border:50px solid;border-image:radial-gradient(at 50% 50%,transparent 14%,purple 15% 19%,blue 20% 24%,lightblue 25% 29%,green 30% 34%,yellow 35% 39%,orange 40% 44%,red 45% 49%,transparent 50%) 49%;">虹色の枠線ができました^^<br />border-imageはやはり手強いですが、だいぶ分かってきた…かも?</div>

 

 

borderの太さに準じて虹の太さも変わります!

border:30px solid;だと、こんな感じ。
border:90px solid;だと、こんな感じ。

<div style="border: 30px solid; border-image: radial-gradient(at 50% 50%,transparent 14%,purple 15% 19%,blue 20% 24%,lightblue 25% 29%,green 30% 34%,yellow 35% 39%,orange 40% 44%,red 45% 49%,transparent 50%) 49%;">border:30px solid;だと、こんな感じ。</div>

<div style="border: 90px solid; border-image: radial-gradient(at 50% 50%,transparent 14%,purple 15% 19%,blue 20% 24%,lightblue 25% 29%,green 30% 34%,yellow 35% 39%,orange 40% 44%,red 45% 49%,transparent 50%) 49%;">border:90px solid;だと、こんな感じ。</div>

 

…のように、赤太字部分を変更するだけで、虹の1色ごとの太さも変わります!

 

 

border-imageを使用しています

このブログ「Little Strange Software」において、CSSプロパティの「border-image」との格闘はもう2年越しのものとなりますw

little-strange.hatenablog.com

 

とても分かり辛いのが、やっぱり結局「border-image-slice」。
今回のコードでいうと、

border-image:radial-gradient(at 50% 50%,transparent 14%,purple 15% 19%,blue 20% 24%,lightblue 25% 29%,green 30% 34%,yellow 35% 39%,orange 40% 44%,red 45% 49%,transparent 50%) 49%;

この「49%」の箇所ですが、もしかすると今回のように「%」単位で指定するのが無難なのかも、と思うようになりました。

【CSS】画像を使った枠線(border-imageとborder-image-slice使用) - Little Strange Software

の時点で、その意味については既に分かってはいたのですが、これをgradient系でやろうとすると…単位が行方不明になりますw

 

それで、SVGとの組み合わせに逃げた事もありますが、

little-strange.hatenablog.com

今一度、gradient系とborder-imageでの表現に挑戦してみようかな、という気になってきました!

 

 

 

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

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