enable-background属性到底具有什么作用?

Leo*_*dra 103 svg

enable-background属性到底是做什么的?

我读了规范,但我仍然不明白.

Mic*_*any 108

它应该使背景图像可用于指定元素的子元素,例如将内容与背景混合的滤镜效果(可能还有其他用途,但这就是我所知道的).如果你没有设置它,那么从技术上讲,元素不能使用祖先创建的背景.支持它的唯一主要浏览器是IE10 +,所以它不会得到太多使用.(它也是每个Illustrator SVG导出中的样板 - 没有充分的理由.)

  • 它被弃用了,即没有人会实现它:http://www.w3.org/TR/filter-effects/#AccessBackgroundImage Illustrator通过将它放在任何地方而相当破坏它意味着UA不能按照预期的方式使用它使用.那个以及几乎不可能实现规范的事实确保了它的消亡. (63认同)
  • 当caniuse.com上没有这个时,我并不感到震惊.然而令人震惊的是,w3.org示例在chrome/mac上不起作用.去IE 10+最终成为第一名. (3认同)
  • 只是想提一下IE11/Edge仍然支持这个功能,但是由于Inkscape在每个文件上添加它(导致性能问题),我们不得不在root <svg>元素上使用时禁用支持.截至今天,其他浏览器仍然不支持In1/In2 = BackgroundImage,只有IE和Edge支持. (3认同)

san*_*mai 12

正如Robert Longson在评论中指出的那样,属性至少从2014年开始enable-background弃用.

SVG 1.1引入了enable-background属性.该属性<filter>在调用元素时定义了过滤器区域下的后退.在编写此规范时,此属性定义的概念被识别为与CSS中的堆叠上下文模型不兼容.UA可以选择实现SVG 1.1中定义的enable-background属性,但不兼容此规范或CSS Compositing and Blending [W3C Working Draft].