--- title: box-shadow slug: Web/CSS/box-shadow tags: - CSS - Propriété - Reference translation_of: Web/CSS/box-shadow ---
La propriété CSS box-shadow
ajoute des ombres à la boîte d'un élément via une liste d'ombres séparées par des virgules. Une boîte d'ombre est définie avec des décalages horizontal et vertical par rapport à l'élément, avec des rayons de flou et d'étalement et avec une couleur.
Le générateur de box-shadow
est un outil interactif qui permet de générer des valeurs pour box-shadow
.
/* offset-x | offset-y | color */ box-shadow: 60px -16px teal; /* offset-x | offset-y | blur-radius | color */ box-shadow: 10px 5px 5px black; /* offset-x | offset-y | blur-radius | spread-radius | color */ box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, 0.2); /* inset | offset-x | offset-y | color */ box-shadow: inset 5em 1em gold; /* Une liste d'ombres, séparées par des virgules */ box-shadow: 3px 3px red, -1em 0 0.4em olive; /* Mots-clés globaux */ box-shadow: inherit; box-shadow: initial; box-shadow: unset;
La propriété box-shadow
peut être définie grâce :
<offset-x>
et <offset-y>
<blur-radius>
<spread-radius>
.inset
<color>
) optionnelle.inset
inset
modifie l'ombre afin qu'elle soit tournée vers l'intérieur du cadre (comme si le contenu était enfoncé dans la boîte). Les ombres tournées vers l'intérieur sont dessinées à l'intérieur de la bordure (même les transparentes), au-dessus de l'arrière-plan mais sous le contenu.<offset-x>
<offset-y>
<offset-x>
définit la distance horizontale du décalage et les valeurs négatives placeront l'ombre à gauche de l'élément. <offset-y>
définit la distance verticale et les distances négatives placent l'ombre au-dessus de l'élément (cf. {{cssxref("<length>")}} pour les différentes unités possibles).0
, l'ombre est placée derrière l'élément (et peut générer un effet de flou si <blur-radius>
et/ou <spread-radius>
est utilisé).<blur-radius>
0
(le côté de l'ombre est rectiligne).<spread-radius>
0
(l'ombre aura la même taille que l'élément).<color>
Chaque ombre de la liste (none
sera traitée comme une liste de longueur nulle) est interpolée via la couleur, le décalage horizontal et vertical, le rayon de flou et l'étalement (lorsque c'est pertinent). Pour chaque ombre, si les deux ombres sont ou ne sont pas inset
, l'ombre interpolée doit respecter cette valeur. Si l'une des ombres a inset
et l'autre non, la liste d'ombres ne peut pas être interpolée. Si les listes d'ombres ont des longueurs différentes, la liste la plus courte sera complétée à la fin avec des ombres dont la couleur est transparent
, toutes les longueurs valent 0
et inset
pour que la valeur corresponde à la plus longue liste.
p { height: 5em; width: 300px; background-color: rgba(128,128,128,0.1); } .ombre_droite_haut { box-shadow: 60px -16px teal; /* la valeur négative décale vers le haut */ } .ombre_interieure { box-shadow: inset 5em 1em gold; /* le mot-clé inset renverse l'ombre à l'intérieur */ } .ombres_multiples_diffuses { box-shadow: inset 0 0 1em gold, 0 0 2em red; /* deux ombres dans la liste et des rayons de flou pour chacune */ }
<p class="ombre_droite_haut">Déportée dans l'autre sens</p> <p class="ombre_interieure">L'ombre est dans le contenu !</p> <p class="ombres_multiples_diffuses">Du rouge dehors et du doré dedans</p>
{{EmbedLiveSample("Exemples","400","300")}}
Spécification | État | Commentaires |
---|---|---|
{{SpecName('CSS3 Backgrounds', '#box-shadow', 'box-shadow')}} | {{Spec2('CSS3 Backgrounds')}} | Définition initiale. |
{{cssinfo}}
{{Compat("css.properties.box-shadow")}}
box-shadow
(en anglais)