我正在印度的一家非政府组织实习,并试图修复他们的网站,包括更新他们的菜单,使其不是页面上要加载的最后一项,并且它位于屏幕的中心。一切都很好,但是当我在 IE6 中尝试我的新菜单时,我收到了这个奇怪的错误,菜单下方的内容被额外填充了 30px 左右,最右边的下拉菜单中的材料出现在最左边屏幕,始终可见。当我下拉最右边的链接(“出版物”)时,内容会出现在正确的位置和屏幕最左侧的同一位置,并且当我悬停时也会改变颜色。很难描述,所以最好看一下:
在您的 IE6/IE7 浏览器中访问http://sevamandir.org/a30/aboutus.htm亲自查看。我真的很感谢你的帮助。此外,我使用的是 1000 像素宽的显示器,如果在该空间之外还有更多的 hijinks,我也想知道这一点。
我再次看了一下这个问题,它比我想象的还要奇怪。无论最左侧的下拉菜单中有多少项,都只显示最底部的下拉菜单项的两个字母。当我删除最左侧的下拉菜单时,下一个最左侧项目的底部项目显示在同一空间中。菜单和内容之间的填充始终相同。当我将鼠标悬停在真正的菜单项上时,左侧的两个字母会改变颜色以匹配悬停颜色。
不幸的是,许多访问我们网站的人都使用旧浏览器,因此 IE6 支持非常重要,不过这个问题真的很奇怪,我希望能得到一些帮助。
我在http://sevamandir.org/a30/aboutus.htm上传了一个包含整个 style.css 表的文件和下面的 HTML 代码。
以下是相关代码:
在html头中:
<script>
sfHover = function() {
var sfEls = document.getElementById("nav").getElementsByTagName("LI");
for (var i=0; i<sfEls.length; i++) {
sfEls[i].onmouseover=function() {
this.className+=" sfhover";
}
sfEls[i].onmouseout=function() {
this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
}
}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);
</script>
菜单周围的文字 - 菜单很简单
<ul id="nav"><li></li></ul>
等等
<!--begin catchphrase-->
<div style="float:left; height:27px; width:520px; margin:0px; font:16px Arial, Helvetica, sans-serif; font-weight:bold; color:#769841;">
Transforming lives through democratic & participatory development
</div>
<?php include("menu.php"); ?>
</div><!-- end header -->
<!--begin main text div-->
<div id="maincontent">
相关菜单CSS:
#nav, #nav ul {
font:bold 11px Verdana, sans-serif;
float: left;
width: 980px;
list-style: none;
line-height: 1;
background: white;
font-weight: bold;
padding: 0;
border: solid #769841;
border-width: 0;
margin: 0 0 1em 0;
}
#nav a {
display: block;
width: 140px; /*this is the total width of the upper menu*/
w\idth: 120px; /*this is the width less horizontal padding */
padding: 5px 10px 5px 10px; /*horiz padding is the 2nd & 4th items here - goes Top Right Bottom Left */
color: #ffffff;
background:#b6791e;
text-decoration: none;
}
#nav a.daddy {
background: url(rightarrow2.gif) center right no-repeat;
}
#nav li {
float: left;
padding: 0;
width: 140px; /*this needs to be updated to match top #nav a */
background:#b6791e;
}
#nav li:hover, #nav li a:hover, #nav li:hover a {
background:#769841;
}
#nav li:hover li a {
background:#ffffff;
color:#769841;
}
#nav li ul {
position: absolute;
left: -999em;
height: auto;
width: 14.4em;
w\idth: 13.9em;
font-weight: bold;
border-width: 0.25em; /*green border around dropdown menu*/
margin: 0;
}
#nav li ul a {
background:#ffffff;
color:#769841;
}
#nav li li {
padding-right: 1em;
width: 13em;
background:#ffffff;
}
#nav li ul a {
width: 13em;
w\idth: 9em;
}
#nav li ul ul {
margin: -1.75em 0 0 14em;
}
#nav li:hover ul ul, #nav li:hover ul ul ul, #nav li.sfhover ul ul, #nav li.sfhover ul ul ul {
left: -999em;
}
#nav li:hover ul, #nav li li:hover ul, #nav li li li:hover ul, #nav li.sfhover ul, #nav li li.sfhover ul, #nav li li li.sfhover ul {
left: auto;
}
#nav li:hover, #nav li.sfhover, {
background: #769841;
color:#ffe400;
}
#nav li a:hover, #nav li li a:hover, #nav li:hover li:hover, #nav li.sfhover a:hover {
background: #769841;
color:#ffe400;
}