1

我有一个带有悬停效果的菜单,它使用无序列表、css 和图像创建。在 IE9、FF v15 和 Chome v22 中查看时菜单正确显示。但是,在 IE9 的兼容模式下,或将文档模式设置为 IE8 标准或更低标准时,菜单无法正确显示。它具有一些级联效果,其中每个列表元素看起来都比最后​​一个略低。

正确的外观是: 在此处输入图像描述

在兼容模式或文档模式 IE8 或以下的外观是: 在此处输入图像描述

HTML 是:

<div class="Menu2">
          <ul>
            <li><a href="index.php" class="MenuHome">Home</a></li>
            <li><a href="coolRooms.php" class="MenuCoolRooms">CoolRooms</a></li>
            <li><a href="onlineBooking.php" class="MenuOnlineBookings">OnlineBookings</a></li>
            <li><a href="termsAndConditions.php" class="MenuTermsAndConditions">Terms&Conditions</a></li>
            <li><a href="madigansMilk.php" class="MenuMadigansMilk">Madigan'sMilk</a></li>
          </ul>
      </div>

CSS是:

.Menu2 {
    z-index:100px;
}
.Menu2 ul {
    width:850px;
    padding:0;
    margin:0;
    /*margin-left:98px;*/
    list-style-type:none;
}
.Menu2 li a {
    display: block;
    float: left;
    height:65px;
    background-image: url(../images/Menu.png);
    text-indent:-9999px;
}
.MenuHome {
    width:99px;
    background-position:0 0;
}
.MenuCoolRooms {
    width:149px;
    background-position:-99px 0;
}
.MenuOnlineBookings {
    width:195px;
    background-position:-249px 0;
}
.MenuTermsAndConditions {
    width:221px;
    background-position:-444px 0;
}
.MenuMadigansMilk {
    width:186px;
    background-position:-665px 0;
}
.MenuHome:hover {
    background-position:0 -65px;
}
.MenuCoolRooms:hover {
    background-position:-99px -65px;
}
.MenuOnlineBookings:hover {
    background-position:-249px -65px;
}
.MenuTermsAndConditions:hover {
    background-position:-444px -65px;
}
.MenuMadigansMilk:hover {
    background-position:-665px -65px;
}

原始菜单图像是: 在此处输入图像描述

为了这个问题,可以忽略菜单的左右边缘(存在于蓝色背景之上)。

任何想法如何纠正列表元素的流动,使它们在其他 IE 版本/模式中保持水平对齐?

4

2 回答 2

1

看看 http://net.tutsplus.com/tutorials/html-css-techniques/9-most-common-ie-bugs-and-how-to-fix-them/ 2. 楼梯效果

于 2012-09-29T02:06:32.470 回答
0

您可以尝试使用modernizer js插件来修复旧浏览器的css和html

于 2012-09-29T01:50:11.403 回答