IE修改DIV边框厚度的问题

时间:2012-05-02 23:45:27

标签: css flash internet-explorer html border

好的,这一次非常简单的问题(虽然答案似乎难以捉摸,因为我无法在网上任何地方找到它。)

它与经典有关:在IE中格式化麻烦。我想它可能是IE无法与Box模型很好地工作的一部分,虽然我找不到IE将修改DIV边框厚度的原因。此外,正如我将进一步解释的那样,还有另一个变量:DIV的内容,它决定了边框是否在IE中正确显示(无论其他地方都能正确显示)。

首先,它是一个简单的DIV,它的CSS如下:

#menu {
    width:1000px;
    border-top:#0072FF solid 10px;
    border-bottom:#FF0078 solid 20px
}

然而,在IE中,顶部和底部边框的厚度大约是其两倍。

这是它在一个和另一个浏览器中的外观(它只是DIV的一部分,而不是整个1000px的部分):

Img. Ref. of border issue with IE

里面有什么?它有一个嵌入式Flash菜单。

我已从代码中删除了其他所有内容,并测试了其Flash内容存在问题的DIV。结果:问题仍然存在。

但是,如果我取出嵌入式Flash,则不会再现该问题。例如,如果我插入文本内容,则问题再次未被复制。显然,这与Flash内容和/或嵌入方式有关。 (再一次,这只发生在IE中......非常惊讶!)

我已经尝试过以几种不同的方式嵌入Flash(尽管我之前从未遇到过麻烦)。这是我正在使用的当前方式,我从一个网站推荐它为“避免IE问题的最佳方法”:

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="1000" height="30" id="menu" align="middle">
  <param name="movie" value="./swf/menu.swf"/>
  <!--[if !IE]>-->
  <object type="application/x-shockwave-flash" data="./swf/menu.swf" width="1000" height="30">
    <param name="movie" value="./swf/menu.swf"/>
    <!--<![endif]-->
    <a href="http://www.adobe.com/go/getflash"> <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player"/> </a>
    <!--[if !IE]>-->
  </object>
  <!--<![endif]-->
</object>

我甚至试图查看它是否是AC_RunActiveContent.js问题,但事实并非如此。

我尝试了几次黑客攻击和/或解决方法,但无济于事。 (这些仍然适用于IE吗?当我偶然发现类似的问题时,我发现* html不再适用于我;格式化的问题仍然存在。)我宁愿避免使用变通方法,在这种情况下,至少,似乎CSS解决方法不会有任何好处(当然,除非我需要格式化我的<object>标签 - 尽管它将是第一个)。

无论如何,任何见解都会非常感激!谢谢!

1 个答案:

答案 0 :(得分:1)

我发现你的对象也有id="menu"。这就是你说div时的意思吗?如果没有,我认为IE正在将#menu样式应用于<object> <div>,而其他浏览器仅将<div>视为{{{} 1}}。