Widely available YES。全ブラウザで長期サポート済み。UI に奥行きを加える標準的な手法。

対応ブラウザ

機能 デスクトップ モバイル
Chrome
Edge
Firefox
Safari
Chrome Android
Safari iOS
10
12
4
5.1
18
5
inset
1
12
3.5
5
18
4.2
multiple shadows

複数の影

1
12
3.5
3
18
1
none
1
12
3.5
3
18
2
spread radius

スプレッド半径

1
12
3.5
5
18
4.2
1+対応 (バージョン) 未対応 注釈あり サブ機能の解説は MDN Web Docs (CC BY-SA 2.5)
注釈 2件
実装メモ
  • このブラウザでは影がレイアウトに影響します。 たとえば、「幅」が「100%」のボックスに外側のシャドウをキャストすると、スクロールバーが表示されます。
対応条件
  • ベンダープレフィックス付きで対応: -webkit- (1)
注釈 4件
実装メモ
  • このブラウザでは影がレイアウトに影響します。 たとえば、「幅」が「100%」のボックスに外側のシャドウをキャストすると、スクロールバーが表示されます。
対応条件
  • ベンダープレフィックス付きで対応: -webkit- (49)
  • ベンダープレフィックス付きで対応: -moz- (3.5)
削除済み
  • このバージョンで機能が削除されました (13)
注釈 2件
実装メモ
  • このブラウザでは影がレイアウトに影響します。 たとえば、「幅」が「100%」のボックスに外側のシャドウをキャストすると、スクロールバーが表示されます。
対応条件
  • ベンダープレフィックス付きで対応: -webkit- (3)
注釈 2件
実装メモ
  • このブラウザでは影がレイアウトに影響します。 たとえば、「幅」が「100%」のボックスに外側のシャドウをキャストすると、スクロールバーが表示されます。
対応条件
  • ベンダープレフィックス付きで対応: -webkit- (18)
注釈 2件
実装メモ
  • このブラウザでは影がレイアウトに影響します。 たとえば、「幅」が「100%」のボックスに外側のシャドウをキャストすると、スクロールバーが表示されます。
対応条件
  • ベンダープレフィックス付きで対応: -webkit- (1)

基本構文

CSS
/* Basic drop shadow */
.card {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* Elevation (multiple shadows) */
.elevated {
  box-shadow:
    0 1px 3px rgba(0, 0, 0, 0.12),
    0 1px 2px rgba(0, 0, 0, 0.24);
}

/* Inset Shadow */
.inset-input {
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1);
}

ライブデモ

Dropshadow

box-shadow Dropshadow demo.

プレビュー全画面表示

elevel-tion

box-shadow elevel-tion demo.

プレビュー全画面表示

insett

box-shadow insett demo.

プレビュー全画面表示

実務での使いどころ

  • カードのエレベーション

    複数のシャドウを重ねてマテリアルデザイン風の奥行き表現を実現。ホバー時にシャドウを強めてインタラクションを表現する。

  • フォーカスリングの強調

    box-shadow で独自のフォーカスリングを作成し、outline を補完するアクセシブルなフォーカス表示を実現する。

注意点

  • 大量の box-shadow や大きなぼかし半径はレンダリングパフォーマンスに影響する場合がある。
  • box-shadow は要素のレイアウトサイズには影響しない(影の領域は他の要素と重なる)。

アクセシビリティ

  • フォーカスリングを box-shadow のみで実装する場合、Windows のハイコントラストモードでは表示されない。outline との併用を推奨する。