Dojo GFX小部件显示浮动式行为而不是正确定位

时间:2012-07-13 08:55:58

标签: css internet-explorer dojox.gfx

我正在使用Dojo GFX做一些简单的绘图,但是IE 7/8有问题(切换浏览器不是一个选项)。

如果我创建一个div,设置一个表面并绘制一些rects,它们相对于div正确绘制,到目前为止一直很好。

然而,我想要做的是创建一个小部件,一个嵌入式“表面”的东西,它基于一些特定于小部件的数据绘制。因此,我有一个包含div的小部件,我将绘制到这个div中。当我这样做时,我创建的rects就像它们响应float一样:右,按顺序显示它们并忽略'x'参数。

我认为这种行为与CSS有关,但我还没有深究它。感谢任何想法或解决方案!


更新

  • 我已禁用所有样式表,但我没有使用样式属性。行为没有区别。
  • 我检查了使用IE8开发工具生成的标记。除了包含div的不同位置之外,我唯一可以看到的区别是v:roundrect元素在针对widget div创建时没有子元素,但是当针对ID引用的div创建时,它们确实具有像stroke这样的空元素
  • 回顾一下这些文档,我可以看到的一个区别是,我正在绘制的postCreate方法正在操作一个尚未添加到dom的div,而绘制一个硬编码的div则是当它确实存在时完成。也许渲染的差异与此有关?是否有适合绘制小部件的特定生命周期函数?

1 个答案:

答案 0 :(得分:0)

似乎如果您要使用Dojo GFX并绘制在IE7 / 8中作为窗口小部件的一部分创建的DOM元素,您必须实际覆盖startup()方法。

使用postCreate()方法绘图会导致渲染类似float: left的错误渲染。