Design

Générateur Box Shadow CSS

Créez des ombres CSS visuellement avec des sliders, gérez plusieurs couches et copiez le code en un clic.

Couches d'ombre

0px
4px
16px
0px
25%
#000000

CSS

box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.25);

Arrondissez vos coins aussi

Personnalisez chaque coin avec notre générateur de border-radius interactif.

Générateur border-radius

Questions fréquentes

Qu'est-ce que la propriété box-shadow en CSS ?

La propriété CSS box-shadow ajoute une ou plusieurs ombres à un élément HTML. Elle accepte les paramètres offset-x (décalage horizontal), offset-y (décalage vertical), blur-radius (flou), spread-radius (étendue) et une couleur.

Le mot-clé inset permet de créer une ombre intérieure. On peut empiler plusieurs ombres séparées par des virgules.

Quelle est la syntaxe complète de box-shadow ?

La syntaxe est : box-shadow: [inset] offset-x offset-y [blur-radius] [spread-radius] couleur. Exemple : box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1). Les valeurs entre crochets sont optionnelles.

Pour plusieurs ombres : box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24).

Quelle est la différence entre blur et spread ?

Le blur-radius (flou) contrôle l'adoucissement des bords de l'ombre : plus la valeur est élevée, plus l'ombre est diffuse. Le spread-radius (étendue) agrandit ou réduit la taille de l'ombre avant d'appliquer le flou : une valeur positive l'agrandit, une valeur négative la réduit.

Ces deux paramètres sont optionnels et valent 0 par défaut.

Comment utiliser l'ombre inset ?

Le mot-clé inset transforme l'ombre extérieure en ombre intérieure. L'ombre est projetée à l'intérieur de l'élément plutôt qu'à l'extérieur. C'est utile pour créer des effets de champ enfoncé, de relief négatif ou des effets de profondeur sur les boutons actifs.

Exemple : box-shadow: inset 0 2px 4px rgba(0,0,0,0.2).

Comment créer des ombres en couleur pour le neumorphisme ?

Le neumorphisme utilise deux ombres superposées (box-shadow) : une claire en haut à gauche et une sombre en bas à droite. Exemple sur fond gris (#e0e5ec) : box-shadow: 6px 6px 12px #b8bec7, -6px -6px 12px #ffffff.

Ajustez les couleurs selon votre fond. Pour l'effet enfoncé, inversez avec inset : box-shadow: inset 6px 6px 12px #b8bec7, inset -6px -6px 12px #ffffff.

Générateur box-shadow CSS : créer des ombres professionnelles

Comprendre la propriété box-shadow en CSS

La propriété box-shadow est l'un des outils les plus puissants du CSS pour créer de la profondeur et de la hiérarchie visuelle dans une interface. Elle permet d'ajouter une ou plusieurs ombres autour d'un élément HTML, simulant l'effet de la lumière sur une surface en relief.

Chaque ombre est définie par cinq paramètres : le décalage horizontal (offset-x), le décalage vertical (offset-y), le rayon de flou (blur-radius), le rayon d'étendue (spread-radius) et la couleur. Le mot-clé inset permet de projeter l'ombre à l'intérieur de l'élément.

box-shadow: [inset] offset-x offset-y blur-radius spread-radius couleur;

L'art des ombres multicouches

Les interfaces modernes utilisent rarement une seule ombre. La technique des ombres multicouches (layered shadows) consiste à superposer deux ou trois ombres de propriétés différentes pour obtenir un rendu plus réaliste et subtil.

La première couche, étroite et foncée, simule l'ombre de contact. La seconde, plus large et diffuse, simule l'ombre ambiante. Cette approche reproduit le comportement naturel de la lumière, là où une ombre unique parait artificielle.

Niveaux d'élévation Material Design

Niveau 0
Pas d'ombre (surface de base)
Niveau 1
0 1px 3px rgba(0,0,0,0.12), 0 ...
Niveau 2
0 3px 6px rgba(0,0,0,0.16), 0 ...
Niveau 3
0 10px 20px rgba(0,0,0,0.19), ...
Niveau 4
0 14px 28px rgba(0,0,0,0.25), ...
Niveau 5
0 19px 38px rgba(0,0,0,0.30), ...

Source : Google Material Design 3, système d'élévation (tokens)

2 couches

Nombre minimum d'ombres recommandé pour un rendu réaliste (ombre de contact + ombre ambiante)

Exemple concret : créer une carte avec élévation

Voici comment construire une ombre de carte professionnelle en deux couches, en partant de zéro :

1

Ombre de contact

Couche 1

0 1px 3px rgba(0, 0, 0, 0.12) : ombre étroite et nette

2

Ombre ambiante

Couche 2

0 4px 16px rgba(0, 0, 0, 0.08) : ombre diffuse et large

3

Résultat combiné

Rendu final

Les deux couches superposées créent un effet de profondeur naturel

Box-shadow et performance : ce qu'il faut savoir

La propriété box-shadow est rendue par le GPU sur la plupart des navigateurs modernes, mais elle peut impacter les performances dans certains cas. Les ombres avec un blur-radius élevé (supérieur à 50px) sur de nombreux éléments simultanés peuvent provoquer des ralentissements, notamment sur mobile.

box-shadow animé

Repaint

Redessine l'ombre à chaque frame

filter: drop-shadow

Compositing

Peut bénéficier de l'accélération GPU

Pour les animations, préférez la technique de l'ombre pré-rendue : placez l'ombre sur un pseudo-élément ::after positionné en absolu, puis animez uniquement son opacity. Le navigateur n'a pas à recalculer l'ombre à chaque frame, ce qui améliore considérablement la fluidité.

Astuce performance

Pour animer des ombres sans impacter les performances, utilisez la technique du pseudo-élément avec opacity. Créez l'ombre finale sur ::after avec opacity: 0, puis animez vers opacity: 1 au survol. Seule la propriété opacity est animée, pas l'ombre elle-même.

Neumorphisme et tendances modernes

Le neumorphisme (ou "soft UI") utilise deux ombres opposées pour créer un effet d'extrusion douce. Une ombre claire en haut à gauche simule la lumière, tandis qu'une ombre sombre en bas à droite simule l'ombre portée. L'effet fonctionne uniquement sur un fond de couleur moyenne (ni blanc pur, ni noir pur).

Bien que visuellement attrayant, le neumorphisme pose des problèmes d'accessibilité : le faible contraste entre les éléments rend l'interface difficile à utiliser pour les personnes malvoyantes. Utilisez-le avec parcimonie et vérifiez toujours le contraste avec un vérificateur WCAG.

Erreurs fréquentes à éviter

  • Utiliser des ombres trop foncées : une ombre noire à 50 % d'opacité parait artificielle. Préférez des opacités entre 5 % et 20 % avec deux couches.
  • Oublier le spread négatif : un spread négatif réduit la taille de l'ombre, permettant de créer des ombres plus réalistes qui ne débordent pas latéralement.
  • Animer box-shadow directement : cela provoque un repaint à chaque frame. Utilisez la technique du pseudo-élément avec opacity.
  • Ignorer le mode sombre : une ombre rgba(0,0,0,0.1) visible sur fond blanc disparait sur fond noir. Adaptez vos ombres au thème actif.
  • Empiler trop de couches : au-delà de 3 couches, le gain visuel est marginal et l'impact sur les performances augmente.

Sources et références

Design & Créatif

Sources : W3C, CSS Backgrounds and Borders Level 3 (box-shadow) · Material Design 3 (système d'élévation) · MDN Web Docs · CSS-Tricks · Dernière mise à jour : avril 2026.