在XUL中嵌入SVG

时间:2009-10-23 05:05:31

标签: css svg xul

我想将SVG嵌入到XUL中。我试图使用this tutorial,它需要在XUL应用程序中粘贴SVG代码并且它可以工作,但这不是很干净。我想将SVG和XUL文件分开,进一步我想为SVG部分使用单独的CSS文件,我们如何做到这一点的任何例子?

1 个答案:

答案 0 :(得分:0)

您可以使用xul-overlays:

1)在xul文件的顶部声明叠加层:

<?xul-overlay href="africa.svg"?>

2)在xul文件中定义一个空容器svg元素,并为其分配与包含文件中主svg元素相同的id。

<box>
  <svg:svg id="mapa" />
</box>

3)记得为svg部分使用一个单独的命名空间(参见上面的svg:svg)并声明它。

<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
    xmlns:svg="http://www.w3.org/2000/svg">

4)通过在周围加上覆盖声明来使你的svg文件成为叠加(我担心你必须这样做)。

<overlay xmlns="http://www.w3.org/2000/svg">
 <svg id="mapa">
  ...
</overlay>

关于单独的css文件:只需创建其中两个并将它们包含在您想要的任何位置 - 即使在svg叠加层中也是如此。

你可能想查看一个有效的例子 - 我几年前创建的一个小地理测验,昨天刚刚更新,以便在当前的firefox中再次运行:

http://open-projects.net/~nico/countryquiz/

只需查看源文件!