2011-04-26 164 views
1

hello 我使用的是css菜单,它在ff和ie7/8中看起来很好,但在ie6中菜单定位不正确。它应该坐在右边,但由于某种原因它正在向左移动。我已经包含了截图和我的CSS菜单,并会很感激,如果有人能告诉我错误在哪里?非常感谢ie6 css显示不正确

#menu 
    { 
     width:425px; 
     height:33px; 
     float: right; 
     margin:133px 51px 0 0; 
     padding:0px; 
    } 
#menu ul 
    { 
     width:525px; 
     height:33px; 
     float:left; 
     margin:0px; 
     padding:0px; 
     display:block; 
    } 
#menu ul li 
    { 
     width:76px; 
     height:33px; 
     float:left; 
     margin:0 1px 0 0; 
     padding:0px; 
     display:block;  
    } 
#menu ul li a.menu 
    { 
     width:76px; 
     height:26px; 
     float:left; 
     margin:0px; 
     padding:7px 0 0 0; 
     font-family:Arial; 
     font-size:13px; 
     font-weight:bold; 
     color:#FFF; 
     text-align:center; 
     text-decoration:none; 
     background-image:url(../images/menu.jpg); 
     background-repeat:no-repeat; 
    } 
#menu ul li a.menu:hover 
    { 
     width:76px; 
     height:26px; 
     float:left; 
     margin:0px; 
     padding:7px 0 0 0; 
     font-family:Arial; 
     font-size:13px; 
     font-weight:bold; 
     color:#FFF; 
     text-align:center; 
     text-decoration:none; 
     background-image: url(../images/menuover.jpg); 
     background-repeat:no-repeat;   
    } 

截图:

正确的菜单间距:http://i51.tinypic.com/9kytxf.png

不正确菜单间距:http://i54.tinypic.com/fldpow.png

+0

我不确定,但尝试位置:相对。 – user455318 2011-04-26 22:04:24

+0

@ user455318仍然相同。谢谢 – ploppy 2011-04-26 22:06:20

+0

我意识到这没有什么帮助,但我觉得有义务:http://ie6countdown.com/ – Jimmy 2011-04-26 22:32:15

回答

0

我的猜测是,你的尺寸不正确添加了和IE在处理这与其他人不同。请注意,例如,#menu只有宽度425px,但其ul的宽度为525px。所以也许FF是削减溢出,但IE不是。

尝试从除最内层元素(例如#menu ul li a.menu)以外的所有元素中移除宽度,然后让其余元素自动调整大小。或者至少从删除/固定宽度#menu开始。

+0

我从菜单div中删除了宽度,并且它只是略微移动了它。谢谢 – ploppy 2011-04-26 22:17:46

1

这可能是老Double Margin Float Bug,当你有在同一方向上的裕度的浮动..即左浮动/左缘或右浮动/右页边距IE5/6是众所周知的保证金

翻番等:

#menu { 
     width:425px; 
     height:33px; 
     float: right; 
     margin:133px 51px 0 0; 
     padding:0px; 
    } 

尝试加入display:inline;上述规则,如果是这样的话,它是一个安全的修复到位,让所有其他浏览器正确地忽略浮动元素的显示属性

+0

显示代码分数移到右边。谢谢 – ploppy 2011-04-26 22:16:50

0

确保你有一个亲每个doctype在HTML文件的开头使用你的CSS。 IE6的怪癖模式是可怕的!例如:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

注意到,适当的(非HTML5)的doctype将指向DTD的URL。如果您的文档类型不正确,请修复它并查看是否有帮助。

+0

这就是我之前所拥有的。 <!DOCTYPE html PUBLIC“ - // W3C // DTD XHTML 1.0 Transitional // EN”“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>谢谢 – ploppy 2011-04-27 07:52:46

+0

那么你很乐意去用你的文档类型。你的问题直接与CSS相关。我建议检查文档类型的原因是,由于没有适当的文档类型,这些年来我见过的许多人都成为怪癖模式的受害者,这会导致奇怪的CSS行为,特别是浮动。有关更多详细信息,请参阅http://www.quirksmode.org/css/quirksmode.html。 – Trav 2011-04-27 20:54:37

+0

这仍然让我挠头:-) – ploppy 2011-04-27 21:09:28