2011-06-07 112 views
0

我遇到了一个非常奇怪的情况。我有一个使用jQuery SVG插件绘制一些线条的脚本。它在一个单独的html文件中工作。但是,一旦我复制该脚本并插入到另一个html文件中,它就会停止在浏览器中显示SVG元素。它的工作原理非常完美,因为当我在运行脚本后看到页面的源代码时,我可以看到脚本正在将SVG元素添加到页面中。这里是网页的SVG代码在任何情况下:SVG元素没有在浏览器中显示

<svg version="1.1"> 
    <line x1="492" y1="503" x2="717" y2="576" stroke="#4A4A4A" stroke-width="2"></line> 
    <line x1="500" y1="400" x2="600" y2="400" stroke="#4A4A4A" stroke-width="2"></line> 
    <line x1="604.5" y1="539.5" x2="587.5" y2="542.5" stroke="red" stroke-width="2"></line> 
    <line x1="604.5" y1="539.5" x2="592.5" y2="527.5" stroke="red" stroke-width="2"></line> 
</svg> 

可能是什么的SVG元素在浏览器中显示的问题?还有其他人面临这种​​奇怪的情况?

+3

哪个浏览器? - – 2011-06-07 20:55:53

+1

是的,知道您使用的浏览器非常重要,因为它们并不都支持SVG。 (我会让悬念建立在那一个上。) – Pointy 2011-06-07 20:56:40

+1

了解更多关于这个其他html文件也是有帮助的。文件的正确位置是创建SVG的位置?什么是CSS规则等等? – Pointy 2011-06-07 20:58:37

回答

0

问题解决了。我没有注意到,在没有显示SVG元素的新页面中,我绘制SVG元素的DIV元素已被另一个DIV包装。而在CSS文件中,包装DIV有一个属性display: table;。我删除了该属性,现在显示了SVG元素。谢谢你们的帮助和建议。

0

您忘了将SVG名称空间标记添加到您的页面?

0

尝试将一个viewBox属性添加到svg元素,以确保坐标系使行出现在svg视口中。或者确保在两个文档中svg元素的大小是相同的。我的猜测是,在一个文件中,svg非常宽,而另一个文件不那么宽(从而剪掉线)。

相关问题