Menu

Générateur de Box Shadow CSS

Conçois un box-shadow CSS multi-couches avec aperçu live et copie le CSS prêt à l'emploi.

Dernière mise à jour

Presets
Aperçu
Couches d'ombre
Offset X0px
Offset Y8px
Blur24px
Spread0px
Opacité0.18
Couleur
CSS
box-shadow:
    0px 8px 24px 0px rgba(0, 0, 0, 0.18);

Qu'est-ce qu'un générateur de box-shadow ?

box-shadow est la propriété CSS qui ajoute ombres, halos et creux à n'importe quel élément. C'est le plus gros levier pour donner de l'*élévation* à un design plat - les cartes décollent de la page, les modales flottent, les boutons paraissent cliquables.

L'astuce, c'est qu'une *bonne* ombre est rarement une seule couche. Les ombres réelles sont plus douces et reçoivent de la lumière ambiante - la plupart des design systems (Material, iOS, Tailwind) empilent 2 à 3 déclarations box-shadow avec des offsets et opacités différents. À la main c'est laborieux ; un générateur te laisse régler chaque couche visuellement et voir le rendu combiné en direct.

Le générateur Coddy gère un nombre illimité de couches, les ombres *externes* et *inset*, la couleur et l'opacité par couche, et des presets pour les motifs les plus courants : cartes discrètes, drops nets, halos de marque, creux inset et surfaces neumorphic. Copie le CSS et colle-le dans ta feuille de styles - sans upload, sans compte, sans filigrane.

Ce qu'il faut savoir sur box-shadow

  • La syntaxe est box-shadow: [inset] <x> <y> <blur> <spread> <color>. inset met l'ombre *à l'intérieur* de l'élément ; sans lui, elle tombe à l'extérieur.
  • *Blur* adoucit le bord - plus la valeur est grande, plus l'ombre est diffuse. *Spread* gonfle ou rétrécit l'ombre avant le blur (valeurs négatives = retrait, utile pour des lifts internes doux).
  • Plusieurs ombres se séparent par une virgule et s'empilent de l'arrière vers l'avant dans l'ordre écrit - la première déclarée se retrouve *sous* les suivantes dans le rendu final.

Comment dessiner un box-shadow

  1. Pars d'un preset

    Choisis le preset le plus proche du rendu visé - carte discrète, élévation douce, drop net, halo de marque, creux inset, neumorphic. Les presets sont de bons points de départ à affiner.

  2. Affine la couche active

    Joue avec les sliders X/Y, blur, spread, couleur, opacité. L'aperçu à gauche se met à jour en direct. Opacité basse + blur élevé = ombres *plus douces*.

  3. Empile d'autres couches

    Clique *Ajouter une couche* pour une seconde ombre. Une vraie profondeur utilise presque toujours deux couches : une courte et serrée (ombre de contact) et une longue et douce (ombre ambiante).

  4. Active inset pour des creux

    Activer *Inset* peint l'ombre à l'intérieur de l'élément. Combinée à une légère ombre extérieure, ça donne l'effet d'un bouton appuyé.

  5. Copie le CSS

    Quand l'aperçu correspond à ton design, clique sur *Copier le CSS*. Colle le résultat dans ta feuille de styles - la règle générée inclut toutes les couches actives.

Aide-mémoire box-shadow

Chaque valeur de box-shadow: x y blur spread color et son rôle.

ValeurEffetPlage typique
Offset XDécale l'ombre horizontalement ; positif = droite−40px à 40px
Offset YDécale l'ombre verticalement ; positif = bas0 à 40px pour une lumière naturelle
BlurAdoucit le bord0 à 80px
SpreadGonfle ou rétrécit avant le blur−30 à 30px
ColorToute couleur CSS ; rgba() permet d'ajuster l'opacité par couchergba(0,0,0,0.05–0.3) pour des ombres naturelles
insetPeint l'ombre à l'intérieur de l'élément-
Plusieurs couchesSéparées par des virgules ; empilées arrière→avant2–3 couches pour une profondeur réaliste

Exemples de box-shadow à tester

Carte discrète avec contact + ambiance

Carte deux couches
box-shadow:    0 1px 2px rgba(0, 0, 0, 0.06),    0 4px 12px rgba(0, 0, 0, 0.08);

Une ombre courte et serrée définit le point de contact, une plus longue et douce simule la lumière ambiante. C'est le motif qu'utilisent la plupart des design systems modernes.

Halo de marque

Glow coloré doux
box-shadow: 0 0 24px 4px rgba(108, 140, 255, 0.45);

Mets X et Y à zéro pour que le halo rayonne uniformément. Un petit spread positif épaissit le glow avant que le blur ne l'adoucisse. À doser - les halos colorés attirent beaucoup l'attention.

Inset façon bouton enfoncé

Ombre inset pour un look pressé
box-shadow:    inset 0 2px 6px rgba(0, 0, 0, 0.18),    inset 0 0 0 1px rgba(0, 0, 0, 0.06);

Les ombres inset se peignent à l'intérieur. Une ombre douce donne l'impression d'un creux ; un inset d'1 px ajoute un liseré interne discret pour bien le définir.

Erreurs fréquentes avec box-shadow

  • Du noir pur à forte opacité. Ça se lit comme une découpe dure, pas comme une ombre. Descends à 0.06–0.18 pour une élévation naturelle.
  • Oublier l'offset Y. Une ombre X=0/Y=0 reste *derrière* l'élément uniformément - ok pour un glow, faux pour une carte censée flotter.
  • Empiler trop de couches. Trois suffisent souvent ; dix produisent un flou confus et coûtent cher à peindre.

FAQ CSS box-shadow

Que signifie chaque valeur de box-shadow ?
box-shadow: x y blur spread color. Les deux premiers sont des offsets ; *blur* adoucit le bord ; *spread* change la taille avant le blur ; la couleur est n'importe quelle couleur CSS (utilise rgba() pour l'opacité). Ajoute inset au début pour que l'ombre soit intérieure.
Comment empiler plusieurs ombres dans une seule règle ?
Sépare chaque ombre par une virgule. Elles s'affichent de l'arrière vers l'avant dans l'ordre écrit, donc la première finit *sous* les suivantes. Idéal pour combiner une ombre de contact serrée à une ombre ambiante douce.
Différence entre box-shadow et filter: drop-shadow() ?
box-shadow suit le rectangle de l'élément et est rapide à peindre. drop-shadow() suit le canal alpha (top pour SVGs et PNGs transparents) mais coûte plus cher. Utilise box-shadow pour cards et boutons ; drop-shadow() pour formes irrégulières.
Pourquoi mon ombre est pixelisée ?
Soit le blur est très faible (un blur 0 est volontairement net), soit l'élément est mis à l'échelle. Augmente le blur ou cherche un transform: scale() dans un ancêtre.
Le box-shadow modifie-t-il le layout ?
Non. L'ombre se peint hors de la boîte mais ne pousse pas les voisins. Si le parent doit laisser de la place, donne-lui du padding ou overflow: visible.

En savoir plus

Autres outils pour développeurs

Coddy programming languages illustration

Apprendre à coder avec Coddy

COMMENCER