在此页面上工作:http://www.karlsenner.dreamhosters.com/about.php并且在IE6中导航时遇到问题。它验证为XHTML 1.0 Transitional。适用于FF,IE 8,Chrome和Windows Safari。在IE6和Opera 10中,下拉菜单显得过高。
我尝试添加http://code.google.com/p/ie7-js/的不同版本,但它没有解决IE中的问题。
CSS看起来像这样:
#wrapper {
position: relative;
display: block;
background-color: inherit;
margin: 0px auto;
padding: 0;
width: 900px;
min-height: 900px;
}
#nav {}
.navImage {
position:relative;
display:inline;
height:102px; /* added in hopes of helping IE position but no dice */
}
.subMenu {
position:absolute;
z-index:10;
background-color:#FFF;
top: 14px;
left:0;
}
.subMenu a:link, .subMenu a:visited, .subMenu a:active{
display:block;
width:90%;
padding:6px;
margin:0;
color:#3CF;
font-family:Tahoma, Geneva, sans-serif;
font-size:14px;
text-decoration:none;
font-weight:bold;
}
.subMenu a:hover{
display:block;
width:90%;
padding:6px;
margin:0;
color:#3CF;
background-color:#CCC;
font-family:Tahoma, Geneva, sans-serif;
font-size:14px;
text-decoration:none;
font-weight:bold;
}
jQuery翻转:
$('#navcompany').hover(function () {
$('#companyMenu').css('display', 'block');
$('#companyImg').attr('src','g/nav/company_over.gif');
}, function () {
$('#companyMenu').css('display', 'none');
$('#companyImg').attr('src','g/nav/company.gif');
});
其中一个细胞。由于菜单来自PHP并且IE不尊重宽度,我只使用PHP来获取导航图像宽度并将其写入样式中。解决了宽度问题,因为IE的行为应该从包装器继承它们的宽度。这可能是一个线索,为什么它们不会出现在导航图像下方,但我无法对其进行排序。
<div id="navcompany" class="navImage" style="width:128px">
<a href="about.php">
<img src="g/nav/company_over.gif" name="companyImg" width="128" height="102" border="0" id="companyImg" alt="company" />
</a>
<div id="companyMenu" class="subMenu" style="display:none; width:128px">
<a href="about.php">About us</a>
<a href="location.php">Our location</a>
</div>
</div>
非常感谢任何建议!
JG
答案 0 :(得分:4)
.navImage {
position:relative;
display:inline;
height:102px; /* added in hopes of helping IE position but no dice */
}
你正在使它成为内联DIV,但它实际上不是内联DIV。它被更像display: block;
在IE6中.navImage
被渲染成一个块,这就是你看到差异的原因。
您应该.navImage
display: block;
并使用float: left;
还要记得清除浮子。
然后,您的top:14px
将更改为top: 102px;