IE7显示问题:菜单中的表格

时间:2010-11-17 13:44:37

标签: css

我写了一个在IE8,FF3.6,GC7中工作正常的菜单样式。现在的问题是,我的老板希望它甚至可以在IE7上运行。我真的很努力让它在IE7上工作,但无法得到相同的外观。

menu.css

a{outline:none;}

.menu {
margin:0;
display:table;
padding:0;
white-space:nowrap;
width:958px;
text-align:center;
font-size:12px;
font-weight:bold;
font-family: Arial, Helvetica, sans-serif;
height: 30px;
background: transparent url("../images/menubg.jpg") repeat-x top left;
border-bottom:4px solid #92C4E9;
border-right:2px solid #005D91;
border-left:2px solid #005D91;
}
.menu ul {
list-style:none;
margin:0;
padding:0;
display:table-row;
white-space:nowrap;
}
.menu ul li{
display:table-cell;
border-right:1px solid #005D91;
border-left:1px solid #005D91;
}
.menu ul a{
display:block;
padding:12px 5px 0 5px;
text-decoration:none;
height:26px;
margin: 0 3px 0 3px;    
color:#ffffff;  
}
.menu ul a:hover{
margin: 0 3px 0 3px;    
background:transparent url("../images/menubgover.jpg") repeat-x top left;

}
.menu li ul
{   
margin:0px;
padding:0px;
display:none;
position:absolute;
background-color:#15375f;
filter: alpha(opacity=85); 
-moz-opacity:0.85; 
-khtml-opacity: 0.85;
opacity: 0.85;

}
.menu li:hover ul
{
margin:0px;
padding: 15px 15px 0px 20px;
text-align:left;
line-height:0px;
display:block;
color:#fff;
}
.menu li li
{
list-style:none;
display:list-item;
border-right:0px;
border-left:0px;
padding:0px;
}
.menu li li a
{color:#92C4E9; text-decoration:none; padding:0; margin:0px; font-weight:normal;
}
.menu li li a:hover
{color:#92C4E9; text-decoration:underline; background:none; padding:0; margin:0px; font-weight:normal;}

.present{margin: 0 3px 0 3px;background:transparent url("../images/menubgover.jpg") repeat-x top left;}

4 个答案:

答案 0 :(得分:7)

IE7不支持display:table,因此您必须以不同的方式重建菜单。

答案 1 :(得分:1)

不幸的是,IE拒绝支持display:table et al是大多数CSS布局的主要原因。一家公司如何阻碍网络开发进展真是令人难过=(

编辑:替代方案可能是对所有理智浏览器使用display:table,对IE使用clearfix hack。你当然可以对所有浏览器使用clearfix,但显示:table等渲染速度要快得多。

答案 2 :(得分:0)

Ie8实际上不支持任何表显示属性,只有firefox和其他一些浏览器

http://www.w3schools.com/css/pr_class_display.asp

我只想尝试使用display:block

答案 3 :(得分:-1)

我建议使用display:inline-block