[CSS] CSSの影のつけ方 box-shadowで立体デザインを作ろう!
立体デザインを作ってみたい、ボックスへの影の付け方をマスターしたい、カスタマイズの幅を広げたい
そんな疑問に答えます。
box-shadowプロパティの使い方
ボックスの影を指定するプロパティは、box-shadowを使います。こんな風に記述します。
a{box-shadow: <横> <縦> <ぼかし> <大きさ> <色> inset;}
それぞれの値について説明します。
横の値 | 影の水平的な位置を指定 |
縦の値 | 影の垂直的な位置を指定 |
ぼかし | 影のぼかしの強さ |
大きさ | 影の大きさ |
色 | 影の色 |
inset | ボックスの内側に影を付けたい場合に使用 |
縦、横を除く値は省略できる
- ぼかし
- 大きさ
- 色
は省略することが出来ます。その場合は以下の値をとります。
- ぼかし:0
- 大きさ:0
- 色:black(本文の色が指定してある場合はそれに同じ)
ぼかしのない影をつける
ぼかしなしの影は、紙が2枚重なっているようにも見えます。
縦横だけをプラスの値で指定
プラスの値で指定すると、右と下に向けて影がつきます。
縦、横に5pxずつずれた影の一例です。
.shadow1{
background: #c6eeee;
box-shadow: 5px 5px;
}
縦横だけをマイナスの値で指定
マイナスの値で指定すると、左と上に向けて影がつきます。
縦、横に-5pxずつずれた影の一例です。
.shadow2{
background: #c6eeee;
box-shadow: -5px -5px;
}
ぼかしのある影をつける
ぼかしつきの影は、まるで浮いているかのような立体感を出すことが出来ます。
3つ目の値ではぼかしの強さを指定出来ます。
数値が大きくなる程ぼかしが強くなります。
10pxでぼかしをつけた一例です。
.shadow3{
background: #c6eeee;
box-shadow: 5px 5px 10px;
}
2pxでぼかしをつけた一例です。
.shadow4{
background: #c6eeee;
box-shadow: 5px 5px 2px;
}
影の大きさを指定する
こちらも値が大きくなるほど、影も大きくなります。
影の大きさを10pxにした一例です。
.shadow5{
background: #c6eeee;
box-shadow: 0px 0px 0px 10px;
}
影の大きさを10px、その他の値も設定した一例です。デザイン的にあれですが、分かりやすい様に、ちょっと極端な数値にしています。
.shadow52{
background: #c6eeee;
box-shadow: 5px 5px 5px 10px;
}
影の大きさを1pxにした一例です。
.shadow6{
background: #c6eeee;
box-shadow: 0px 0px 0px 1px;
}
影の大きさを1px、その他の値も設定した一例です。デザイン的に良い感じ🙆♀️
.shadow62{
background: #c6eeee;
box-shadow: 5px 5px 2px 1px;
}
カラフルな影をつける
ピンクの影をつけた一例です。
.shadow7{
background: #c6eeee;
box-shadow: 5px 5px #ef97e8;
}
背景と同じ色の影を全体にかけると、ふんわり光っているように見えます。
.shadow8{
color:#ffffff;
background: #ef97e8;
box-shadow: 0px 0px 8px 8px #ef97e8;
}
insetでボックスの内側に影をつける
insetを使うと、凹んでいるように見えます。
.shadow9{
padding: .3em;
box-shadow: 2px 2px 3px 1px inset;
}
/* 既にお気付きかもしれませんが、実はこのシンタックスハイライターの囲み枠も、insetで影をつけています */
box-shadowを応用した例
このブログのh2見出し
実は当ブログのh2見出し、破線でボーダーをつけたボックスの上下に、ぼかし無しの影をつけて作成しています。
他にもいくつか例を載せておりますので、詳しくは以下の記事もご覧ください。
ちなみにシンタックスハイライター(コードを囲ってある枠)のCSSはこちらです。
ネオン風ボタン
box-shadowを使用して、ネオンの様に光るCSSボタンを作ってみました。
2つとも押し心地が良いので、ぜひ実際に押して感覚を味わってみてください(笑)
See the Pen Neon button by Yuhomyan (@yuhomyan) on CodePen.
ネオン風ボタン2
See the Pen Neon-button-2 by Yuhomyan (@yuhomyan) on CodePen.
最後に
box-shadowを使うと、ブログデザインが一気に立体的、お洒落になるので是非知っておきたいプロパティの一つです。
デザインカスタマイズ系は少しずつアップしていくので、今後も楽しみにしていていただけたら幸いです!