Co dokładnie robi atrybut enable-background?

106

Co dokładnie robi ten enable-backgroundatrybut?

Przeczytałem specyfikację, ale nadal jej nie rozumiem.

Leos Ondra
źródło

Odpowiedzi:

111

Ma to na celu udostępnienie obrazu tła elementom podrzędnym elementu, w którym jest określony, na przykład efekty filtrów, które mieszają zawartość z tłem. Mogą istnieć inne zastosowania, ale to jedno, które znam.

Jeśli nie masz tego ustawionego, technicznie rzecz biorąc, element nie może używać tła utworzonego przez przodków.

Jedyną główną przeglądarką, która to obsługuje, jest IE10 +, więc nie jest zbytnio używana. (Jest również dostępny jako szablon w każdym eksporcie SVG programu Illustrator - bez powodu).

Michael Mullany
źródło
3
Nie byłem zbyt zszokowany, kiedy nie było tego na caniuse.com. Jednak szokujące było to, że przykłady w3.org nie działały na chrome / mac. Idź do IE 10+, aby wreszcie być pierwszym.
QueueHammer
64
Jest przestarzały, tj. Nikt nie zamierza go zaimplementować: w3.org/TR/filter-effects/#AccessBackgroundImage Illustrator raczej zrujnował go, umieszczając go wszędzie, co oznacza, że ​​UA nie może go używać w sposób, w jaki został przeznaczony. To oraz fakt, że wdrożenie specyfikacji tak, jak napisano, było praktycznie niemożliwe, zapewniło jej upadek.
Robert Longson
3
Chciałem tylko wspomnieć, że IE11 / Edge nadal obsługuje tę funkcję, ale musieliśmy wyłączyć obsługę, gdy jest używana w elemencie głównym <svg>, ponieważ Inkscape dodaje ją do każdego pliku (powodując problemy z perf). Na dzień dzisiejszy inne przeglądarki nadal nie obsługują In1 / In2 = BackgroundImage, tylko IE i Edge to obsługują.
FremyCompany
+1 za „Jest również dostępny jako szablon w każdym eksporcie SVG programu Illustrator - bez powodu”. - zastanawiał się, czy kolega dodałby ten atrybut w tym przypadku; to to wyjaśnia.
tremby
12

Jak zauważył Robert Longson w komentarzach , atrybut enable-backgroundjest przestarzały co najmniej od 2014 roku .

W SVG 1.1 wprowadzono właściwość enable-background. Właściwość definiowała cofanie w obszarze filtru w momencie <filter>wywołania elementu. Pojęcie zdefiniowane przez tę właściwość zostało zidentyfikowane jako niekompatybilne z modelem kontekstu stosowego w CSS w czasie pisania tej specyfikacji. Użytkownicy aplikacji UA mogą zdecydować się na zaimplementowanie właściwości enable-background zgodnie z definicją w SVG 1.1, ale nie będą zgodne z tą specyfikacją ani z CSS Compositing and Blending [W3C Working Draft].

sanmai
źródło