Flash / SWF对象影响元素填充

时间:2009-10-14 14:46:10

标签: css flash swfobject

我一直绞尽脑汁试图弄清楚这一点,因为这是我曾经做过的几个网站上的一个问题(虽然它们还没有上线)而不是试图找到解决方案我想尝试发现问题的根源。

以下是相关网站:(已删除网址)

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

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

4 个答案:

答案 0 :(得分:2)

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

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

这对我有用。

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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

你正在使用SWFObject 2.0,它的功能与旧的SWFObject略有不同。旧的将植入目标div的内部嵌入。新的实际上似乎用对象标签替换整个目标DIV。

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

答案 3 :(得分:0)

SWFObject插入&lt; object&gt;元件。有些浏览器会对待&lt; object&gt;作为内联元素,有些人将其视为块级元素。

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

object { display: block; }

See the SWFObject FAQ on the subject.