Quantcast
Channel: CSSタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8597

【初心者でもわかる】CSSで虹を書こう!CSSでの虹の書き方

$
0
0

どうも7noteです。CSSで虹をつくろう!

image.png

先生「今日はCSSで虹を作ります♪用意するものはクレヨンではなくエディタを用意します。」

園児「はーい!」

園児「(机からPCをとりだす園児たち)」



こんな未来がこないことを祈ります。

ソース

index.html
<divclass="rainbow"></div>
style.css
.rainbow{width:200px;/* 幅を200pxに指定 */height:100px;/* 高さを100pxに指定 */overflow:hidden;/* はみ出た部分を非表示 */position:relative;/* 基準位置とする */}.rainbow::after{content:'';/* 疑似要素に必須の指定 */width:100%;/* 幅いっぱいに指定 */height:200%;/* 高さいっぱいの二倍(正方形になるよう)に指定 */border-radius:50%;/* 角丸で正円にする */position:absolute;/* 相対位置とする */top:0;/* 上から0pxの位置に指定 */left:0;/* 左から0pxの位置に指定 */background:radial-gradient(transparent30px,#CD35F030px,#CD35F040px,#5B96E240px,#5B96E250px,#66D1F050px,#66D1F060px,#9FF54D60px,#9FF54D70px,#FBFF5270px,#FBFF5280px,#F8A95280px,#F8A95290px,#E7474D90px);/* 虹になるよう内側の色から指定 */background-size:100%100%;/* 背景のサイズを100%に指定 */}

解説

作成するイメージとしては、円形グラデーションを疑似要素で作成しておき、半分だけ親要素からはみ出しておきます。はみ出た分を非表示にして完成

円形のグラデーションを作成するにはradial-gradient()を使います。内側から順番に色を書いていくのですが、円の中心部分は透明になるのでtransparentを指定します。その後順番に10pxずつ色を指定します。
円形なので、10pxずつ指定しても疑似要素の幅は20pxずつ増えていくのでサイズを指定する際は注意してください。

まとめ

園児くらいの子でもわかるように説明するのってとても難しい。
説明上手な人はキレイなプログラムが書けそう。

おそまつ!

~ Qiitaで毎日投稿中!! ~
【初心者向け】HTML・CSSのちょいテク詰め合わせ


Viewing all articles
Browse latest Browse all 8597


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>