Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

lighting-color

Baseline Widely available

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.

La propriété CSS lighting-color définit la couleur de la source lumineuse pour les primitives de filtre d'éclairage SVG <feDiffuseLighting> et <feSpecularLighting> à l'intérieur d'un filtre (<filter>) SVG. Si elle est présente, elle remplace l'attribut lighting-color de l'élément.

Note : La propriété lighting-color ne s'applique qu'aux éléments <feDiffuseLighting> et <feSpecularLighting> imbriqués dans un <svg>. Elle ne s'applique pas aux autres éléments SVG, HTML ou pseudo-éléments.

Syntaxe

css
/* Valeurs de type <color> */
lighting-color: red;
lighting-color: hsl(120deg 75% 25% / 60%);
lighting-color: currentColor;

/* Valeurs globales */
lighting-color: inherit;
lighting-color: initial;
lighting-color: revert;
lighting-color: revert-layer;
lighting-color: unset;

Valeurs

<color>

La couleur de l'éclairage. Cela peut être n'importe quelle valeur CSS <color> valide.

Définition formelle

Valeur initialewhite
Applicabilité<feDiffuseLighting> and <feSpecularLighting> elements in <svg>
Héritéenon
Valeur calculéecomme spécifié
Type d'animationby computed value

Syntaxe formelle

lighting-color = 
<color>

Exemples

Définir la couleur de l'éclairage du filtre

Cet exemple montre le cas d'utilisation de base de lighting-color, et comment la propriété CSS lighting-color prend le dessus sur l'attribut lighting-color.

HTML

Nous avons un SVG avec deux éléments <filter>, l'un avec un enfant <feDiffuseLighting> et l'autre avec un enfant <feSpecularLighting>. Chacun inclut l'attribut SVG lighting-color définissant la couleur de l'éclairage à red. Ces deux enfants possèdent un <fePointLight>, l'enfant requis qui définit la source lumineuse. Nous avons inclus deux éléments <rect> avec un attribut de filtre ; c'est là que les filtres seront affichés.

html
<svg viewBox="0 0 420 120" xmlns="http://www.w3.org/2000/svg">
  <filter id="flood1">
    <feDiffuseLighting lighting-color="red">
      <fePointLight x="75" y="30" z="10" />
    </feDiffuseLighting>
  </filter>
  <filter id="flood2">
    <feSpecularLighting specularExponent="5" lighting-color="red">
      <fePointLight x="225" y="75" z="5" />
    </feSpecularLighting>
  </filter>

  <rect id="r1" filter="url(#flood1)" />
  <rect id="r2" filter="url(#flood2)" />
</svg>

CSS

Nous définissons la taille et la position de notre <rect> à l'aide des propriétés CSS height, width, x et y. Nous ajoutons également une image d'arrière-plan au SVG pour rendre toute transparence alpha de couleur plus visible :

css
svg {
  background-image: repeating-linear-gradient(
    45deg,
    transparent 0 9px,
    #cccccc 0px 10px
  );
}

rect {
  width: 100px;
  height: 100px;
  x: 10px;
  y: 10px;
}

#r2 {
  x: 150px;
}

Nous appliquons ensuite différentes valeurs de couleur d'éclairage aux éléments enfants du filtre à l'aide de la propriété CSS lighting-color. Nous utilisons une couleur nommée et une couleur hexadécimale à 3 chiffres, mais nous pouvons utiliser n'importe quelle syntaxe de couleur CSS valide :

css
feDiffuseLighting {
  lighting-color: blue;
}

feSpecularLighting {
  lighting-color: #ff0099;
}

Résultats

Les attributs ont défini la couleur des deux filtres lumineux comme red, mais ces valeurs ont été remplacées par les valeurs CSS lighting-color.

Spécifications

Specification
Filter Effects Module Level 1
# LightingColorProperty

Compatibilité des navigateurs

Voir aussi