FIRST CH TOOLS / デザイン / 52 CSS BOX-SHADOW GENERATOR
box-shadow ジェネレーター
CSSの影をスライダーで調整しながら決めて、そのままコピーできるツールです。影を何枚も重ねる多層シャドウに対応していて、1本の影を「なめらかにする」ボタンで薄い影の重なりへ分けられます。Material風・ニューモーフィズム・フォーカスリングなどの定番プリセット、DevToolsからコピーした影の読み込みつき。
影を調整します
プレビューの枠は overflow: hidden です。枠の外へ出た影が切れるのは、実際のページでも同じことが起きるためです(影はレイアウトの場所を取らないので、親が切っていれば切れます)。
一覧のいちばん上が手前です(CSSは最初に書いた影を上に描きます)。「なめらかにする」は、選んでいるレイヤー1枚を薄い影の重なりへ分けます——距離とぼかしを段階的に伸ばし、濃さは重ねたときに元と同じになるよう 1-(1-α)^(1/n) ずつ配ります。
色は HEX・rgb()・hsl()・oklch()・CSSの色名で入れられます。濃さのスライダーは色の透明度(アルファ)で、色見本の側は不透明な色だけを扱います。
DevToolsでコピーした値を、box-shadow: や末尾の ; ごと貼り付けられます。長さの単位は px(と裸の 0)だけ読みます——em や rem は基準の文字サイズ次第で変わるため、あえて解釈しません。
ぼかしの数値が半分になります。box-shadow のぼかし半径はにじみの幅そのものですが、drop-shadow() の第3引数はぼかしの標準偏差で、仕様上その2倍がにじみの幅にあたるためです。drop-shadow() は箱ではなく中身の不透明な形に沿うので、透過PNGやSVGアイコンの影に使います(広がり spread は指定できません)。
影の色を作るなら Colorコード変換&アルファ透過計算機、背景のグラデーションは CSSグラデーションジェネレーター、影が動くときの速度曲線は イージング(cubic-bezier)プレビュー&比較、影の色と背景の見分けやすさは コントラスト比チェッカーで確かめられます。
選ぶとレイヤーごと読み込みます
クリックすると影のレイヤーだけでなく背景と要素の色・角丸もプリセットの値に切り替えて「つくる」タブへ戻ります(ニューモーフィズムや暗い画面のカードは、背景の色とセットでないと意図した見え方になりません)。読み込んだあとは1枚ずつ編集できます。
読み方と、踏みやすい落とし穴
4つの数字はこの順で書く
box-shadow: X Y ぼかし 広がり 色; の順です。省けるのは後ろからで、広がりを省くと0、ぼかしも省くと0(=輪郭のくっきりした影)になります。色を省くとそのテキストの色(currentColor)が使われるので、意図せず真っ黒や朱色の影が出ることがあります。先頭に inset を付けると内側に落ちます。
影はレイアウトの場所を取らない
影は border と違い要素の大きさを変えません。だからボタンに影を付けても並びがずれませんが、裏返すと親が overflow: hidden なら容赦なく切れます。カルーセルやタブの中身で「影が片側だけ消える」のはほぼこれです。上の集計にある「要素からのはみ出し」を見て、親側に余白(padding)を確保してください。
1本の濃い影より、薄い影の重なり
実際の光は1方向だけから来ないので、要素の近くは狭く濃い影・遠くは広く薄い影が同時にできます。これを1本の box-shadow で真似ると、濃くすれば汚れて見え、薄くすれば浮かびません。薄い影を3〜6枚重ねると、同じ濃さでもはるかに自然になります。このツールの「なめらかにする」はその分割を自動でやります。
重ねた影の濃さは足し算ではない
透明度20%の影を2枚重ねても40%にはならず、1-(1-0.2)² = 36% です。n枚なら 1-(1-α)ⁿ。逆に「合計で30%にしたい」なら1枚あたり 1-(1-0.3)^(1/n) です——このツールの多層化はこの式で濃さを配るので、枚数を変えても全体の濃さが変わりません。上の集計の「いちばん濃いところ」は、影が完全に重なった場合の上限です。
並びの順=重なりの順(最初が手前)
カンマで区切った影は最初に書いたものがいちばん手前に描かれます。狭くて濃い影を先に、広くて薄い影を後に書くのが定石です。順番を入れ替えると、濃い影が薄い影に隠れてぼやけます。z-index とは無関係で、この並び順だけで決まります。
広がり(spread)を負にすると貼りつく
広がりは影の大きさそのものを増減させます。負にすると影が要素より小さくなるので、大きくぼかしても横へはみ出さず、要素の真下に溜まって見えます。0 10px 15px -3px のような「ぼかしより少し小さい負の広がり」は、UIライブラリのカード影でほぼ必ず使われている書き方です。
ぼかしは「外へ半分」にじむ
ぼかし半径 b の影は、影の縁を境に内側へ b/2・外側へ b/2 のグラデーションになります。つまり外へ出る量は オフセット + 広がり + b/2 で、ぼかしの全量ではありません。filter: drop-shadow() に書き換えるときぼかしの数値が半分になるのも、あちらの引数がガウスぼかしの標準偏差だからです。
影は箱の形に沿う(中身の形ではない)
box-shadow はボーダーボックスの形=border-radius を含む長方形に沿います。透過PNGのロゴや clip-path で切った図形に影を付けても、出るのは四角い影です。中身の形に沿わせたいときは filter: drop-shadow() を使います(こちらは広がりを指定できず、重ねると描画が重くなります)。
ぼかし0・オフセット0の影は「線」
0 0 0 2px のように広がりだけを与えると、要素のまわりを囲むベタ塗りの輪になります。border と違って要素の大きさを変えず、outline と違って角丸に沿うので、フォーカスリングの定番です。2本重ねれば「白の縁+色の輪」になり、どんな背景の上でも見えるリングが作れます。
内側(inset)が効かない場所がある
inset の影はパディングボックスの内側に描かれますが、置換要素(<img>・<video>・<iframe> など)の中身の上には乗りません。画像をへこませたいときは、画像を包む要素の側に inset を付けます。また inset とそうでない影は同じ宣言の中に混ぜて書けます。
黒の半透明は、じつは最適ではない
rgb(0 0 0 / 0.1) は無難ですが、彩度のある背景の上では灰色に濁って見えます。背景の色相を保ったまま明度だけ大きく下げた色(青い画面なら濃い紺)を影に使うと、同じ濃さでも澄んで見えます。ダークモードでは黒い影がそもそも見えないので、影を消して代わりに明るい inset の縁(inset 0 1px 0 rgb(255 255 255 / 0.1))で立体感を出すのが定番です。
影のアニメーションは疑似要素で
transition: box-shadow .2s は動きますが、毎フレームぼかしを描き直すので大きな影では重くなります。ホバーで影を強くしたいときは、影を持たせた ::after を重ねて opacity だけを変えると、合成だけで済んで滑らかです。速度曲線は イージングのツールで決められます。
How to Use
- 形と色を決めるプレビューの背景色・要素の色・角丸を、実際に使う画面に近づけます。影の見え方は下の背景の色で大きく変わるので、白の上で作った影を灰色の画面に置くと消えます。
- 影を重ねるスライダーでX・Y・ぼかし・広がり・濃さを決め、「+ 重ねる」で2枚目を足すか、「なめらかにする」で1枚を薄い影の重なりへ分けます。「プリセット」タブから Material風・ニューモーフィズムを読み込んで直すのも早道です。
- コピーして貼る「値をコピー」で box-shadow の値だけ、「宣言をコピー」でプロパティごと取れます。色の書き方(rgb(… / …)/rgba()/HEX)はプロジェクトに合わせて選べます。
About This Tool
CSSの影は4つの数字と1つの色でできています。box-shadow: X Y ぼかし 広がり 色; の順に並び、先頭に inset を付けると内側に落ちます。このツールはその5つをスライダーで動かしながら、実際の要素に当てた結果とCSSを同時に見せます。プレビューの背景色・要素の色・角丸・大きさも変えられるので、使う画面に近い条件で決められます——影の見え方は下地の色で大きく変わり、白の上で作った影は灰色の画面ではほとんど見えません。
多層シャドウが主目的です。現実の影は「要素の近くは狭く濃い/遠くは広く薄い」が同時に成り立っていて、1本の box-shadow ではどちらかしか表せません。薄い影を数枚重ねると同じ濃さでも自然に見えます。「なめらかにする」は選んでいる1枚を n 枚へ分ける機能で、距離とぼかしを段階的に伸ばしつつ、濃さは 1-(1-α)^(1/n) ずつ配ります。影を重ねたときの濃さは足し算ではなく 1-(1-α)ⁿ になるため、この配り方にすると枚数を変えても全体の濃さが変わりません。
いま書いてあるCSSからも始められます。DevToolsでコピーした値を box-shadow: や末尾の ; ごと貼り付けると、レイヤーに分解して読み込みます(長さの単位は px と裸の 0 のみ)。外側1枚・広がり0の影は filter: drop-shadow() にも書き換えて出します。このときぼかしの数値が半分になるのは、drop-shadow() の第3引数がガウスぼかしの標準偏差で、box-shadow のぼかし半径はその2倍にあたるためです。
使いどころの注意も同時に出します。「影が見えない書き方になっている」「濃すぎる」「はみ出しが大きく overflow: hidden の親で切れる」「inset は <img> では出ない」といった指摘をチェック結果に並べます。生成も判定もすべてブラウザ内で完結し、入力はサーバーへ送信されません。URLパラメータで直接呼び出せます: /box-shadow/?css=0 10px 15px -3px rgb(0 0 0 / 0.1)&bg=%23faf8f4&radius=12
Other Tools
- 01画像→WebP一括変換WebP Converter
- 02白背景の透過White BG Remover
- 03コントラスト比チェッカーContrast Checker
- 04文字数カウントCharacter Counter
- 05llms.txt ジェネレーターllms.txt Generator
- 06JSON-LD構造化データ生成JSON-LD Generator
- 07Markdown→PDF変換MD → PDF
- 08OGPメタタグ生成ウィザードOGP Wizard
- 09faviconジェネレーターFavicon Generator
- 10TikTok投稿ツールTikTok Publisher
- 11文字コード・改行コード変換Encoding Converter
- 12画像→AVIF変換+picture生成AVIF Converter
- 13テストデータ生成Test Data Generator
- 14Marp Markdown→スライドMarp Slides
- 15テキスト・コード差分チェッカーDiff Checker
- 16Cron式ビジュアル解説&発火日時Cron Explainer
- 17Base64 & Data URI変換Base64 & Data URI
- 18URLパラメータ分解・UTMタグ編集URL Parameters
- 19HTMLエンティティ・特殊文字エスケープHTML Escape
- 20JSON ⇄ YAML 相互変換&整形JSON ⇄ YAML
- 21PX ⇄ REM / EM 単位変換&スケール表PX ⇄ REM / EM
- 22Colorコード変換&アルファ透過Color Converter
- 23MD5 / SHA-256 ハッシュ生成Hash Generator
- 24JWTデコーダー&有効期限チェッカーJWT Decoder
- 25User-Agent解析&デバイス判定User-Agent Parser
- 26UUID (v4) & ULID 一括生成UUID & ULID Generator
- 27アスペクト比計算&レスポンシブサイズAspect Ratio Calculator
- 28Markdownテーブル整形&CSV/TSV変換Markdown Table
- 29SQLクエリフォーマッター&整形SQL Formatter
- 30QRコード生成QR Code Generator
- 31正規表現テスターRegex Tester
- 32UNIXタイムスタンプ⇄日時変換Unix Time Converter
- 33新規タブメモ帳New Tab Memo
- 34画像リサイズ&クロップImage Resizer
- 35EXIF情報の確認&除去EXIF Viewer
- 36robots.txt ジェネレーターrobots.txt Generator
- 37安全なパスワード生成Password Generator
- 38文字列ケース変換Case Converter
- 39CSV/TSV ⇄ JSON 相互変換CSV ⇄ JSON
- 40PDF結合・分割・ページ抽出PDF Merge & Split
- 41全角⇄半角変換&テキストクリーナーZenkaku ⇄ Hankaku
- 42X(Twitter)投稿の文字ウェイト計算X Post Counter
- 43CSS clamp() フルイドタイポグラフィ計算機CSS clamp() Calculator
- 44CSSグラデーションジェネレーターCSS Gradient Generator
- 45画像からカラーパレット抽出Palette Extractor
- 46QRコード読み取りQR Code Reader
- 47SVG最適化&data URI化SVG Optimizer
- 48リダイレクトルール ジェネレーターRedirect Generator
- 49IPアドレス・CIDR計算機CIDR Calculator
- 50カレンダー予定(.ics)ジェネレーターICS Generator
- 51イージング(cubic-bezier)プレビュー&比較Easing Preview