要素に対して影をつけることができます。
昔は画像で影を表現していましたが、CSSのみで影をつけることができるようになりました。
いくつかの影の種類があるので、値のルールを覚えておきましょう。
box-shadow.html
<div class="shadow1">ぼかしのない影を作る</div> <div class="shadow2">左に10px、上に20px伸びる影の例</div> <div class="shadow3">影の色を変えつつぼかす</div> <div class="shadow4">影を拡大し、色も指定する</div> <div class="shadow5">内側にシャドウを付ける</div> <div class="shadow6">カンマ区切りで内側と外側両方に影をかける</div>
.shadow1 { width: 200px; height: 100px; background-color: skyblue; box-shadow: 10px 10px; }
10px
が左右の値10px
が上下の値マイナス値をつける事も可能です。
.shadow2 { width: 200px; height: 100px; background-color: skyblue; box-shadow: -20px -10px; }
-20px
-10px
.shadow3 { width: 200px; height: 100px; background-color: skyblue; box-shadow: 10px 11px 20px rgba(0, 0, 0, .5); }
10px
11px
20px
← NEW!3つ目の値 20px
→ ぼかし距離。値が大きいほど影がぼやけます。(負の値は指定できません)
.shadow4 { width: 200px; height: 100px; background-color: skyblue; box-shadow: 10px 11px 20px 12px rgba(100, 0, 0, .3); }
10px
11px
20px
12px
← NEW!4つ目の値 12px
→ 広がりの距離。正の値を指定すると影の形状を「全方向」に拡大、負の値を指定すると縮小します。
.shadow5 { width: 200px; height: 100px; background-color: skyblue; box-shadow: 10px 10px 20px 0 rgba(0, 0, 0, .5) inset; }
指定すると影が内側に表示される。(内側に表示させたい時だけ書く)
.shadow6 { width: 200px; height: 100px; background-color: skyblue; box-shadow: 0px 10px 16px 0px rgba(0, 0, 0, .3), 0px 5px 10px rgba(255,255,255,0.75) inset; }
カンマ区切りで内側と外側の影を表現ができます。
角丸にするとボタンっぽくなりますね