enable-background 属性到底有啥作用?

Posted

技术标签:

【中文标题】enable-background 属性到底有啥作用?【英文标题】:What exactly does the enable-background attribute do?enable-background 属性到底有什么作用? 【发布时间】:2018-09-22 11:35:28 【问题描述】:

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

我读了specification,但还是不明白。

【问题讨论】:

【参考方案1】:

它应该使背景图像可用于指定它的元素的子元素,用于将内容与背景混合的滤镜效果。可能还有其他用途,但这是我所知道的。

如果您没有设置它,那么从技术上讲,该元素不能使用祖先创建的背景。

(曾经)唯一支持它的主要浏览器是 IE10/11,因此它并没有被广泛使用。 (它也是每个 Illustrator SVG 导出中的样板 - 没有充分的理由。)

(自 2014 年以来,所有主流浏览器也已弃用它)

【讨论】:

caniuse.com 上没有这个功能时,我并没有太震惊。然而,令人震惊的是 w3.org 的示例在 chrome/mac 上不起作用。 IE 10+ 终于成为第一了。 它已被弃用,即没有人会实施它:w3.org/TR/filter-effects/#AccessBackgroundImage Illustrator 将其放置在任何地方,这意味着 UA 无法以预期的方式使用它,从而毁了它。这一点以及几乎不可能按照所写的规范实施这一事实确保了它的消亡。 只是想提一下 IE11/Edge 仍然支持该功能,但是在根 元素上使用时我们不得不禁用支持,因为 Inkscape 在每个文件中都添加了它(导致性能问题)。时至今日,其他浏览器仍然不支持 In1/In2=BackgroundImage,只有 IE 和 Edge 支持。 +1 表示“它在每个 Illustrator SVG 导出中也作为样板存在 - 没有充分的理由。” -- 想知道同事在这种情况下会添加这个属性;这解释了它。【参考方案2】:

作为noted by Robert Longson in comments,属性enable-background是deprecated at least since 2014。

SVG 1.1 引入了 enable-background 属性。在调用<filter> 元素时,该属性定义了过滤器区域下的背景。在编写本规范时,此属性定义的概念被确定为与 CSS 中的堆栈上下文模型不兼容。 UA 可以选择实现 SVG 1.1 中定义的 enable-background 属性,但不兼容本规范或 CSS 合成和混合 [W3C 工作草案]。

【讨论】:

以上是关于enable-background 属性到底有啥作用?的主要内容,如果未能解决你的问题,请参考以下文章

<div>标签到底包含哪些属性 各有啥意义?

HTML5 script 标签的 crossorigin 属性到底有啥用

checkbox 里面的value!到底有啥用!

HTML中的span标签到底是啥意思,有啥具体的作用

C# CoClass 属性有啥作用?

C# CoClass 属性有啥作用?