0

我在浮动 img 旁边放置 sifr 时遇到问题,Opera 9.6 强制文本清除图像并显示在一行上。Firefox 还会在第一次加载页面时强制清除文本,尽管刷新修复了这个问题并且问题将永远不会再次发生,只有在清除缓存并重新启动浏览器时才会返回。

也扼杀了 firefox,如果出现错误,然后我加载 firebug,这会将文本拍摄到与图像内联的正确位置,非常奇怪,因为我不认为 firebug 导致 dom 重新加载。

4

1 回答 1

1

这通常是时间问题。当 sIFR 替换元素时,图像尚未加载,因此要替换的元素是容器的全宽。sIFR 将插入此宽度的 Flash 电影,一旦所有内容都正确渲染,它就不会放在图像旁边。当您打开 Firebug 时,您会调整网页视口的大小。这会触发 sIFR 中的调整大小并导致 sIFR 检测被替换元素的正确宽度。

解决方案:

  • 尝试在图像上设置一个widthheight,这样布局在加载时不会改变
  • 用于fitExactly使 Flash 影片与其包含的文本一样宽。这将有助于防止清除,除非文本当然比可用空间长
  • 设置sIFR.useDomLoaded = false;beforesIFR.activate()以使 sIFR 在页面加载时替换元素 - 在加载图像之后

您可能还需要调整要替换元素的字母间距,以便 HTML 文本的宽度正确反映 Flash 文本将占用的宽度。如果 Flash 报告的文本宽度值不正确,请使用tuneWidthoffsetLeft属性进行调整。

于 2009-07-29T21:26:55.023 回答