カテゴリ: CSS 更新日: 2026/02/06

CSSのbox-shadowで立体的なボックスデザインを作る方法!初心者でもわかる完全ガイド

box-shadowで立体的なボックスデザインを作る方法
box-shadowで立体的なボックスデザインを作る方法

先生と生徒の会話形式で理解しよう

生徒

「先生!ウェブサイトで立体的に見えるボックスがありますけど、どうやって作るんですか?」

先生

「あれはCSSのbox-shadowというプロパティを使って作るんですよ。とても簡単に影(シャドウ)をつけることができます。」

生徒

「影をつけるだけで立体的に見えるんですか?」

先生

「そうなんです。ほんの少しの設定で、ふんわり浮かんだようなボックスが作れますよ。さっそくやってみましょう!」

1. box-shadowとは?CSSで影をつける基本

1. box-shadowとは?CSSで影をつける基本
1. box-shadowとは?CSSで影をつける基本

CSSのbox-shadow(ボックスシャドウ)とは、ウェブページ上の画像やテキストボックス、ボタンなどの「要素」に対して、自由自在に影(シャドウ)を付けることができるプロパティです。通常、ウェブ画面は平面(2D)ですが、この影を加えることで、まるで紙の上にカードが置かれているような「奥行き」や「リアリティ」を演出できます。

最近のウェブデザイン(Googleの提唱するマテリアルデザインなど)では、この影を使って「どの要素が重要か」「どのボタンが押せるのか」を直感的にユーザーへ伝える手法が主流です。プログラミングが初めての方でも、たった1行のコードを追加するだけで、サイトの見た目を一気にプロっぽく仕上げることができます。

初心者向けポイント:影はただ暗くするだけでなく、「要素が浮き上がっている距離」を表現するために使います。影が大きく、ぼけているほど、その要素は画面から高く浮いているように見えますよ!


<style>
.sample-box {
    width: 200px;
    height: 100px;
    background-color: #ffffff;
    border: 1px solid #eeeeee;
    /* 右に5px、下に5px、ぼかし10px、影の色はグレー */
    box-shadow: 5px 5px 10px #888888;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 20px;
}
</style>

<div class="sample-box">
    影があるボックス
</div>
ブラウザ表示

上のサンプルを見てみましょう。白い四角形にグレーの影がつくことで、背景から少し浮き出して見えませんか?これがbox-shadowの魔法です。影の向きや色を変えるだけで、優しく上品な雰囲気から、力強くクールな印象まで、サイトの表情を自由に変えることが可能になります。

2. box-shadowの基本構文を覚えよう

2. box-shadowの基本構文を覚えよう
2. box-shadowの基本構文を覚えよう

box-shadowは、次のような構文で使います。

構文:


box-shadow: 水平の距離 垂直の距離 ぼかしの大きさ 広がりの大きさ 色;

それぞれの意味を簡単に説明します。

  • 水平の距離:影を右(または左)にどれくらいずらすかを指定します。
  • 垂直の距離:影を下(または上)にどれくらいずらすかを指定します。
  • ぼかしの大きさ:影のふんわり感を調整します。数字が大きいほど柔らかい影になります。
  • 広がりの大きさ:影をどのくらい広げるかを指定します。
  • :影の色を指定します。黒だけでなく、グレーや半透明なども使えます。

3. 実際にbox-shadowを使ってみよう

3. 実際にbox-shadowを使ってみよう
3. 実際にbox-shadowを使ってみよう

それでは、実際にbox-shadowを使ってみましょう。まずは基本的な影をつけてみます。


<style>
.box-basic {
    width: 200px;
    height: 100px;
    background-color: #fff;
    border: 1px solid #ccc;
    box-shadow: 10px 10px 10px #aaa;
}
</style>

<div class="box-basic">基本的なボックスシャドウ</div>
ブラウザ表示

このコードでは、ボックスの右下に少しぼかした灰色の影をつけています。10px 10px 10px #aaaの部分が、順番に「右に10px」「下に10px」「ぼかし10px」「色は薄いグレー」という意味です。

4. 柔らかい影と強い影を作り分ける

4. 柔らかい影と強い影を作り分ける
4. 柔らかい影と強い影を作り分ける

影のぼかしや色を調整することで、デザインの印象がガラッと変わります。たとえば、ふんわりした柔らかい影と、くっきりした強い影の例を見てみましょう。


<style>
.soft-shadow {
    width: 200px;
    height: 100px;
    background-color: #f9f9f9;
    box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.2);
    margin-bottom: 20px;
}

.strong-shadow {
    width: 200px;
    height: 100px;
    background-color: #fff;
    box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.6);
}
</style>

<div class="soft-shadow">柔らかい影</div>
<div class="strong-shadow">強い影</div>
ブラウザ表示

rgba(0, 0, 0, 0.2)のように「rgba」という指定を使うと、透明度を設定できます。最後の数字(0.2や0.6)は「透明度」で、0に近いほど薄く、1に近いほど濃い影になります。

5. box-shadowでふんわり浮かぶカードデザインを作ろう

5. box-shadowでふんわり浮かぶカードデザインを作ろう
5. box-shadowでふんわり浮かぶカードデザインを作ろう

最近のウェブデザインでは、カード型デザイン(カードレイアウト)がよく使われています。カードの下に影をつけることで、浮き上がったように見せることができます。


<style>
.card-shadow {
    width: 250px;
    padding: 20px;
    background-color: white;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}
</style>

<div class="card-shadow">
    <h3>カードデザイン</h3>
    <p>box-shadowでふんわり浮いたデザインを作れます。</p>
</div>
ブラウザ表示

このように、少し丸みをつけて(border-radius)やわらかい影を足すと、カードが優しく浮き上がって見えます。影の強さや距離を調整することで、立体感を自在に変えることができます。

6. box-shadowを使った複数の影や内側の影

6. box-shadowを使った複数の影や内側の影
6. box-shadowを使った複数の影や内側の影

box-shadowは、1つだけでなく複数の影を重ねることもできます。また、影を内側に入れることもできるんです。


<style>
.multi-shadow {
    width: 200px;
    height: 100px;
    background-color: #fff;
    box-shadow: 3px 3px 5px #999, -3px -3px 5px #ccc;
    margin-bottom: 20px;
}

.inner-shadow {
    width: 200px;
    height: 100px;
    background-color: #fefefe;
    box-shadow: inset 5px 5px 10px rgba(0,0,0,0.2);
}
</style>

<div class="multi-shadow">複数の影</div>
<div class="inner-shadow">内側の影</div>
ブラウザ表示

1つ目の例では、「右下」と「左上」に2つの影を重ねて、光が当たっているような立体感を出しています。2つ目の例のinsetは「内側に影をつける」という意味で、くぼんだようなデザインにできます。

7. box-shadowでボタンを立体的にする応用例

7. box-shadowでボタンを立体的にする応用例
7. box-shadowでボタンを立体的にする応用例

ボタンにもbox-shadowを使うと、押せるように見せる効果があります。サイトの印象を大きく変えるので、ボタンのデザインにも活用してみましょう。


<style>
.button-shadow {
    padding: 10px 20px;
    background-color: #007bff;
    color: white;
    border: none;
    border-radius: 5px;
    box-shadow: 0 5px 0 #0056b3;
    cursor: pointer;
}
.button-shadow:active {
    box-shadow: 0 2px 0 #003f7f;
    transform: translateY(3px);
}
</style>

<button class="button-shadow">立体ボタン</button>
ブラウザ表示

ボタンに影をつけることで、実際に押し込めるような立体感を再現しています。クリック時に少し下に動くようにすることで、よりリアルなボタンに見えます。

8. まとめ:box-shadowでデザインの印象を変えよう

8. まとめ:box-shadowでデザインの印象を変えよう
8. まとめ:box-shadowでデザインの印象を変えよう

box-shadowはCSSの中でもとても便利なプロパティです。難しいコードを使わなくても、影の設定だけで立体的でプロっぽいデザインを作ることができます。影の強さ・色・ぼかし・位置を調整しながら、自分の理想のデザインを探してみてください。

(この記事の本文文字数:全角 約2824文字)

2026年最新 スキルアップ・実践セミナー

【60分集中】Flexboxを完全攻略!最新CSS3で「崩れない・迷わない」モダンUI構築セミナー

「魅せる力」をコードで実現。CSS3でモダンWebデザインのプロトタイピングを。

本講座では、単に色を変えるだけではなく、「ユーザーを迷わせないUIデザイン」「崩れないレイアウト設計」の本質を学びます。最新のCSS3とモダンなレイアウト手法を通じて、プロの現場で通用する「美しさと機能性を両立した実装力」を最短距離で習得します。

具体的なワークショップ内容と環境

【つくるもの】
HTMLで作成した骨組みに対し、商用サイトでも採用される「スタイリッシュなカード型UI」や「レスポンシブなナビゲーション」を構築します。色の選定基準や余白(ホワイトスペース)の黄金比など、デザインの理論をコードに落とし込む工程を体験してください。

【開発環境】
フロントエンド開発の標準であるVisual Studio Code (VS Code)を継続使用。CSSの記述を効率化するプラグインや、ブラウザのデベロッパーツール(検証機能)を駆使して、リアルタイムでデザインを微調整するプロのワークフローを再現します。

この60分で得られる3つの技術資産

1. 現代のデファクトスタンダード「Flexbox」

要素の横並びや中央揃えを自由自在に操り、どんなデバイスでも崩れないレスポンシブな配置術を完全理解します。

2. メンテナンス性を高めるCSS設計の基礎

後から修正しやすい「壊れにくいコード」の書き方を伝授。プロの現場で必須となる命名規則の考え方を学びます。

3. パフォーマンスと美しさの両立

画像の最適化や軽量な装飾技法など、ページの表示速度を落とさずに高級感のある演出を行うテクニックを習得します。

※本講座は、HTMLの基礎を終えた後のステップアップ講座です。Webデザイナー、UIデザイナー、フロントエンドエンジニアへの道を切り開く「魅せる技術」を、モクモク独自のパーソナル指導で着実に定着させます。

【60分集中】Flexboxを完全攻略!最新CSS3で「崩れない・迷わない」モダンUI構築セミナー

リラックスしながら、学ぶことが大切です。しっかりと基礎を理解しましょう!

各回少人数・マンツーマン形式で徹底サポート

このセミナーの詳細・お申し込みはこちら
カテゴリの一覧へ
新着記事
New1
CSS
CSSの!importantの使い方を完全ガイド!初心者向けに徹底解説
New2
CSS
CSSでインデント(字下げ)を設定する方法を完全ガイド!初心者でもわかるtext-indentの使い方
New3
HTML
HTMLのdivタグの役割とは?初心者でもわかるレイアウトで使う正しい場面
New4
CSS
CSSの背景色の使い方を完全ガイド!初心者でもわかるbackground-colorの基本
人気記事
No.1
Java&Spring記事人気No1
CSS
CSSで要素のサイズを自動調整!autoとfit-contentの使い方
No.2
Java&Spring記事人気No2
Bootstrap
Bootstrap 5 と Tailwindの違いを比較:どっちを選ぶ?用途別の選び方を初心者向けに解説
No.3
Java&Spring記事人気No3
CSS
CSSの状態によるセレクタ完全ガイド!初心者でもわかる:checkedと:disabledの使い方
No.4
Java&Spring記事人気No4
CSS
CSSのレスポンシブ新常識!メディアクエリとコンテナクエリの違いを徹底解説
No.5
Java&Spring記事人気No5
Bootstrap
Bootstrap Iconsのライセンスと商用利用の注意点【著作権と表記を初心者向けに解説】
No.6
Java&Spring記事人気No6
HTML
HTMLのliタグとは?初心者でもわかるul・ol内での正しい役割を完全解説
No.7
Java&Spring記事人気No7
CSS
CSSで要素を消す方法を完全ガイド!display:noneとvisibility:hiddenの違い
No.8
Java&Spring記事人気No8
CSS
CSSでテキストの折り返しを完全解説!初心者でもわかる基本と注意点