0

我一直在绞尽脑汁试图解决这个问题,因为它在我过去工作过的几个网站上一直是个问题(尽管它们还没有上线),而不是试图建立一个解决方案,我会喜欢尝试发现问题的根源。

这是有问题的网站:(已删除 URL)

基本上,我将这个主页编码为纯 HTML,然后随着时间的推移插入 JavaScript 和 Flash 元素。当我开始添加 Flash(使用 SWF 对象)时,我注意到它已将其下方的元素向下推了大约 5 像素,并且仅在 Firefox 和 Safari 中(奇怪的是,Internet Explorer 不受影响)。关闭 Flash 或禁用 JavaScript(也会关闭 Flash)会删除这些额外的填充。

有人可以告诉我是什么导致了这个问题吗?我没有注意到任何主要的 JS 或 CSS 错误(除了 IE 的一些 hack),所以我很难过。

4

4 回答 4

2

尝试添加line-height:0; 到 flash-swf 周围的 div 中:

<div id="flashDiv" style="line-height:0;">

这对我有用。

于 2010-11-11T12:55:58.687 回答
1

尝试删除页面上 DIV 之间的空格,并尝试将 swf 对象放入其自己的 DIV。这样,您可以在不加载 swf 的情况下控制页面的外观,并且在加载时不会影响其他元素。

于 2009-10-14T14:49:50.683 回答
0

尝试将对象元素的边距和填充显式设置为 0px

您使用的是 SWFObject 2.0,它的作用与旧的 SWFObject 略有不同。旧的将嵌入目标div的内部。新的似乎实际上用对象标签替换了整个目标 DIV。

我不喜欢的东西,这就是为什么我仍然使用旧的 SWFObject。

于 2009-10-14T14:56:19.967 回答
0

SWFObject 插入一个 <object> 元素。有些浏览器将 <object> 视为内联元素,有些则将其视为块级元素。

修复方法是使用 CSS 来确保对象始终被视为块级元素:

object { display: block; }

请参阅有关该主题的 SWFObject 常见问题解答。

于 2011-11-28T20:45:59.210 回答