我有一个非常复杂的动态创建的svg图像,它使用jQuery SVG创建。我想创建一个“弹出”区域,显示在画布中所有svg元素的顶部。要创建一个现代半透明的iOS7外观,我想对弹出区域下面的所有内容应用模糊滤镜。我想能够动态设置这个弹出区域的x,y以及宽度和高度属性。将模糊滤镜应用于svg图像的某个区域
看一看this example:
<svg width="500" height="500">
<rect x="10" y="10" height="235" width="235" fill="red" />
<rect x="255" y="10" height="235" width="235" fill="green" />
<rect x="10" y="255" height="235" width="235" fill="blue" />
<rect x="255" y="255" height="235" width="235" fill="yellow" />
<rect x="50" y="50" height="400" width="400" fill="rgba(255,255,255,0.8)" />
</svg>
在这种情况下,由白色区域应该模糊覆盖了一切。它应该看起来像这样:
我发现this,但这里使用了一个静态背景图像,我没有。 是否有任何为什么使用svg,css和jQuery来实现这种效果?
嘿真棒!这工作得很好!非常感谢你,我的团队会对这个结果非常满意! =) – Dafen
只是另一个问题:如果滤镜下面没有元素,它就变成黑色。有没有办法使用svg元素背后的背景?(CSS背景图像设置为HTML标记) 如果不是,我会尝试在过滤器下显示html背景图像的副本,但在其他svg元素上方。 – Dafen
仅当浏览器支持enable-background和BackgroundImage时才支持。但是大多数人都没有,正如迈克尔已经指出的那样。如果他们这样做,你会用他的解决方案,而不是我的。 –