我一直绞尽脑汁试图弄清楚这一点,因为这是我曾经做过的几个网站上的一个问题(虽然它们还没有上线)而不是试图找到解决方案我想尝试发现问题的根源。
以下是相关网站:(已删除网址)
基本上我将此主页编码为纯HTML,然后插入JavaScript和Flash元素,随着时间的推移完成它们。当我添加Flash(使用SWF对象)时,我注意到它已经将其下方的元素向下推了大约5px,并且仅在Firefox和Safari中(Internet Explorer,奇怪的是,不受影响)。关闭Flash或禁用JavaScript(也会关闭Flash)会删除这个额外的填充。
有人可以告诉我是什么导致了这个问题吗?我没有注意到任何主要的JS或CSS错误(除了IE的一些黑客),所以我很难过。
答案 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; }