1

我有一个页面,其中必要的元素被重新定位在一些额外的 html 属性上。

例如:

<div class="contentplate" relativePosition="top-left" relx="1" rely="3" relw="14" relh="8"  relFontSize="80"></div>

由类'contentplate'重新定位。它定位到与实际窗口大小相关的栅格。它的子元素被递归处理以获得相对定位也在这个容器内工作。所有这些都按预期工作。

当使用 jQuery('parentcontainer').animate( {left:0},100 ) 或其他东西时,麻烦就开始了:以某种方式重新定位元素会导致 jquery 只为父元素而不是子元素设置动画。有趣的部分是在动画完成后,孩子的位置被 jQuery 以某种方式纠正了,但正如所告知的那样没有动画。

所有元素的样式位置:绝对,溢出:隐藏

不,resotion 算法仅在调整窗口大小或页面加载一次后运行。

如果您有兴趣,我有 3 项测试:
网站完全动态重新定位(动画失败,Firefox 除外)
http://www.bourier.org/demos/jquery_animation_failure/test_2.html

没有主动重新定位的重新定位站点的快照(所有浏览器,都很好)
http://www.bourier.org/demos/jquery_animation_failure/test.html

一个带有黄色网格的完全动态重新定位站点,您可以看到已启用
http://www.bourier.org/demos/jquery_animation_failure/test_3.html

一个屏幕截图,您可以在其中看到启用网格的动态页面 在此处输入图像描述 感谢您的时间

4

1 回答 1

0

看起来,这是浏览器引擎中的一个错误,与画布的使用和上面 div 的 z-ordered 的 CSS 修改相关。

画布仅用于检查网格功能是否正确,例如调试目的。

我删除了画布,现在一切都按预期工作。

有一些非常错误的东西,可以在这里使用 chrome 开发工具显示:调试器和鼠标指针在正确的位置检测到元素,但它们没有显示在那里。这很奇怪。

在此处输入图像描述

我不想比这更深入,但在我看来,Firefox 的行为是正确的,而 Chrome 和 Safari 的做法非常错误。

如果我应该向 chrome 开发人员发布问题报告,请发表评论,我会的。

于 2012-11-19T14:58:48.577 回答