Css 拉斐尔SVG元素有时会在褶皱下方溢出

Css 拉斐尔SVG元素有时会在褶皱下方溢出,css,raphael,Css,Raphael,我在div中有一个Raphael.js SVG元素。有时候,当页面加载时,或者当jquery ui draggable被拖动到主SVG节点上时,整个SVG元素(over?)几乎在页面下方流动。也就是说,如果它从0,0开始,到500px高,它会突然跳到0500,但并不总是这样。我试过设置position:relative,但似乎无法解决这个问题。实际上,调整位置:在Chrome调试器中使其“返回”,但通过页面加载将其保持在那里并不能永久解决问题。这可能发生在所有页面加载的一半 有人知道这可能是什么

我在div中有一个Raphael.js SVG元素。有时候,当页面加载时,或者当jquery ui draggable被拖动到主SVG节点上时,整个SVG元素(over?)几乎在页面下方流动。也就是说,如果它从0,0开始,到500px高,它会突然跳到0500,但并不总是这样。我试过设置position:relative,但似乎无法解决这个问题。实际上,调整位置:在Chrome调试器中使其“返回”,但通过页面加载将其保持在那里并不能永久解决问题。这可能发生在所有页面加载的一半

有人知道这可能是什么原因,或者至少有一种方法可以让它在顶部卡住吗?我相当无知


为没有榜样而道歉;这是我目前无法共享的大型设置的一部分。我希望有人有预感。

你能在生成源代码的同时检查它(我使用Web Developer工具,其中有一个选项可以查看生成的源代码-并且确信Chrome中有类似的东西)看看它之前是否没有插入元素吗(或者程序逻辑中的某些内容导致画布被复制)。我曾经与Raphael有过一些非常奇怪的行为,发现它与我在页面上无意中加载了两次相同的脚本有关

我也可以在CSS中建议绝对定位,但这听起来并不能解决根本问题


祝你好运,希望能有所帮助。

显然,这是一些CSS转换:输入路径不在正确的坐标空间中,因此我们正在进行
-webkit转换:translateY(400px)scaleY(-1);
元素中。在将路径放入DOM之前,我将尝试缩放路径。

是的,我正在观察它;源代码没有变化。我想我会注意到CSS也发生了变化,因此渲染引擎本身似乎突然决定它属于不同的位置。即使svg e上有position:absolute元素,它仍然会弹出。这很奇怪。无论发生什么情况,绝对定位都应该将其固定在原位。您确定在使用绝对定位时,存在具有非静态位置属性(例如位置:相对)的父对象吗?在没有看到它的情况下,我只是在这里猜测。我想这将有助于您缩小问题的可能原因。我可能会在CSS中给画布容器一个边框,然后看看画布本身是否正在扩展,或者是否真的是正在被分流的包含div。如果没有,很抱歉在没有对DOM进行其他更改的情况下,删除CSS转换并在Raphael中进行路径转换已经解决了这个问题。