CSSボックスシャドウジェネレーター|リアルタイム
box-shadowのCSSを即座に生成。カード・ポップアップ・ニューモーフィズムなどプリセット付き。
CSSボックスシャドウジェネレーター|リアルタイムとは
CSSのbox-shadowを即座に生成できる無料ツールです。カード・ポップアップ・フローティングボタン・ニューモーフィズムなどのプリセット付き。水平・垂直オフセット・ぼかし・スプレッド・不透明度・insetを自由に設定し、コピペで使えるCSSコードを出力します。
使い方
- 1プリセットを選ぶか「カスタム」を選んで各パラメータを入力してください。
- 2「box-shadow を生成する」ボタンをクリックするとCSSが生成されます。
- 3生成されたコードをコピーしてCSSファイルに貼り付けてください。
メリット・特徴
- カードシャドウ・ポップアップ・ニューモーフィズムなど8種類のプリセットを収録
- 2層重ねのbox-shadowにも対応(プロ品質のシャドウ)
- inset(内側シャドウ)にも対応
- 不透明度をパーセントで直感的に設定可能
- ベンダープレフィックスなしの標準CSSを出力
CSS box-shadowの基本パラメータと構文
box-shadowプロパティはHTML要素に影(ドロップシャドウ)を追加するCSSプロパティです。構文は「box-shadow: [inset] offset-x offset-y [blur-radius] [spread-radius] color」です。カンマ区切りで複数のシャドウを重ねることができ、プロ品質のUIデザインを実現できます。
各パラメータの意味と効果
offset-x(水平オフセット)は正の値で右、負の値で左にシャドウをずらします。offset-y(垂直オフセット)は正の値で下、負の値で上にずらします。blur-radius(ぼかし半径)を大きくするほどシャドウがぼんやりします(0で輪郭がシャープ)。spread-radius(スプレッド)は正の値でシャドウを拡大、負の値で縮小します。colorには rgba() を使って色と透明度を指定します。例:box-shadow: 0 4px 6px rgba(0,0,0,0.1) は軽いカードシャドウです。
複数シャドウの重ね合わせテクニック
box-shadowはカンマ区切りで複数定義でき、宣言順に前面から後面に積み重なります。例:box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24) のように小さいシャドウと大きいシャドウを重ねると、Material Designのような洗練された立体感が生まれます。プリセットの「カードシャドウ」もこの多層構造を採用しています。
inset(内側シャドウ)の活用
insetキーワードを追加するとシャドウが要素の外側ではなく内側に描画されます。ボタンを押したときの「押し込み」エフェクト・テキスト入力フィールドのフォーカスリング・凹み表現などに活用します。例:box-shadow: inset 0 2px 4px rgba(0,0,0,0.2) は入力欄の内側に軽い影を付けてリアルな凹み感を演出します。ニューモーフィズムデザインでは外側シャドウと内側シャドウを組み合わせて使います。
プロ品質シャドウの設計パターンとデザインシステムへの応用
美しいUIデザインにはシャドウの設計が重要です。Material Design・Apple Human Interface Guidelines・Tailwind CSSなど主要なデザインシステムはシャドウに体系的なレベル(elevation)を設定しています。このパターンを理解することで一貫性のあるUIが作れます。
Elevationレベル設計(Material Designアプローチ)
Google Material Designではelevation(高さ)でシャドウの強さを決めます。低elevation(2dp):カード・チップなど基本UIに弱いシャドウ。中elevation(4〜6dp):フローティングボタン・ドロップダウン。高elevation(8〜16dp):モーダルダイアログ・ナビゲーションドロワー。このツールのプリセットもこの考え方に基づいており、要素の重要度や浮き上がり感に応じてプリセットを選択してください。
ニューモーフィズムの実装方法
ニューモーフィズムは背景と同系色の明るいシャドウと暗いシャドウを両側に配置して凸型の立体感を演出します。実装例:background: #e0e5ec; box-shadow: 9px 9px 16px #b8bec7, -9px -9px 16px #ffffff;。シャドウの色は背景色より約10〜15%暗い色と明るい色を使います。アクセシビリティの観点からは、ニューモーフィズムはコントラストが低くなりがちなため、インタラクティブ要素への適用は注意が必要です。
シャドウとパフォーマンスの関係
box-shadowはブラウザのGPUアクセラレーション対象ではなく、特にぼかし半径が大きい場合はCPU描画になりパフォーマンスに影響します。多数の要素に複雑なシャドウを適用する際はwill-change: transform を指定することでGPUレイヤーに昇格しアニメーション時のジャンクを防げます。スクロール中にシャドウをアニメーションさせる場合はopacityやtransformのアニメーションに置き換えることを検討してください。
よくある質問(FAQ)
- box-shadowで複数のシャドウを重ねるには?
- 「2層目のシャドウを追加」チェックを入れると2層を重ねたbox-shadowが生成されます。プリセットのカードシャドウなども多層構造になっています。
- ニューモーフィズムとは何ですか?
- ニューモーフィズムはUI要素が凸型に浮き出て見えるデザインスタイルです。明るいシャドウと暗いシャドウを同時にかけることで立体感を表現します。
- insetシャドウとは何ですか?
- insetを指定するとシャドウが要素の外側ではなく内側に描画されます。ボタンの押し込み表現などに使われます。
- 生成されたCSSはどのブラウザに対応していますか?
- CSS box-shadowはChrome・Firefox・Safari・Edgeなどすべての主要ブラウザに対応しています。ベンダープレフィックスは不要です。
- シャドウの色に透明度を設定するには?
- rgba(0, 0, 0, 0.2) のように rgba() 関数を使うと色と透明度を同時に指定できます。カラーピッカーでアルファ値を調整するか、直接HEX値(#00000033など)を入力してください。
不具合や動作がおかしい点を見つけたら教えてください。
不具合報告はこちら →