2011-01-20 87 views
3

WebKit的具有导致嵌入SVG(由<embed><image>)具有白色背景的代替透明的错误。透明SVG

这已得到纠正,但不能在iOS上,那里有更古老的WebKit

的构建是有一些好的解决方法呢?我非常需要透明背景。

我知道两个子最佳解决方法:

  • 使用<img>标签。 - 我不能这样做,因为插入为IMGS的SVGs的DOM/XML树不能移动/操控。

  • 掩盖<object><embed>元素本身。出人意料的是,事件的老的WebKit可以检测的透明度,如果SVG作为掩盖但是我认为这是一个丑陋的解决方案:

    <object style="-webkit-mask-image:url(image.svg);" data="image.svg" type="image/svg+xml" />

有一些很好的解决了这一点?

回答

1

我找到了解决办法。

我可以使用内嵌 SVG/XML。在这种情况下,我可以获得透明度和遍历SVG DOM节点的能力。

唯一的缺点是,我必须使用与正确的内容类型头有效XML标记(text/xml莫名其妙效果最好,我不知道为什么)

0

你所谈论的是众所周知的bug。如果它在iOS上,你是否真的需要使用矢量图形?为什么不使用具有继承透明度的PNG?

+0

我认为对于iOS,您真的需要尽可能使用矢量图形,因为您有视网膜屏幕来处理。 – rjmunro 2015-03-18 10:44:11