Que fait exactement l'attribut enable-background?

105

Que fait exactement l' enable-backgroundattribut?

J'ai lu la spécification mais je ne la comprends toujours pas.

Léos Ondra
la source

Réponses:

110

Il est censé rendre l'image d'arrière-plan disponible pour les éléments enfants de l'élément sur lequel il est spécifié pour des éléments tels que des effets de filtre qui mélangent le contenu avec l'arrière-plan. Il peut y avoir d'autres utilisations, mais c'est celle que je connais.

Si vous ne l'avez pas défini, alors techniquement, l'élément ne peut pas utiliser les arrière-plans créés par les ancêtres.

Le seul navigateur majeur qui le prend en charge est IE10 +, il n'est donc pas beaucoup utilisé. (Il est également présent en tant que passe-partout dans chaque exportation Illustrator SVG - sans raison valable.)

Michael Mullany
la source
3
Je n'étais pas trop choqué quand ce n'était pas sur caniuse.com. Cependant, il était choquant que les exemples w3.org ne fonctionnent pas sur chrome / mac. Passez à IE 10+ pour être enfin le premier.
QueueHammer
64
Son obsolète c'est-à-dire que personne ne va l'implémenter: w3.org/TR/filter-effects/#AccessBackgroundImage Illustrator l'a plutôt ruiné en le plaçant partout, ce qui signifie qu'un UA ne peut pas l'utiliser de la manière dont il était destiné à être utilisé. Cela et le fait qu'il était pratiquement impossible de mettre en œuvre la spécification telle que rédigée a assuré sa disparition.
Robert Longson
3
Je voulais juste mentionner que IE11 / Edge prend toujours en charge la fonctionnalité, mais nous avons dû désactiver le support lorsqu'il était utilisé sur l'élément racine <svg> en raison de l'ajout d'Inkscape sur chaque fichier (ce qui a causé des problèmes de perf). À ce jour, les autres navigateurs ne prennent toujours pas en charge In1 / In2 = BackgroundImage, seuls IE et Edge le font.
FremyCompany
+1 pour "Il est également présent comme passe-partout dans chaque exportation Illustrator SVG - sans raison valable." - se demandait qu'un collègue ajouterait cet attribut dans ce cas; cela l'explique.
tremby
12

Comme l'a noté Robert Longson dans les commentaires , l'attribut enable-backgroundest obsolète au moins depuis 2014 .

SVG 1.1 a introduit la propriété enable-background. La propriété définissait l'arrière-plan sous la région de filtre au moment où l' <filter>élément était appelé. Le concept défini par cette propriété a été identifié comme incompatible avec le modèle de contexte d'empilement en CSS au moment de la rédaction de cette spécification. Les UA peuvent choisir d'implémenter la propriété enable-background telle que définie dans SVG 1.1 mais ne sera pas compatible avec cette spécification ou avec CSS Compositing and Blending [W3C Working Draft].

sanmai
la source