html - CSS 下拉菜单在 IE8 中消失

标签 html css internet-explorer drop-down-menu

我有一个 CSS 下拉菜单,在 firefox、chrome 和大多数版本的 IE 中看起来都不错。

但在 IE8 中,当您将鼠标从顶部菜单栏向下移动到下拉菜单时,下拉菜单就会消失。

我一直在寻找这个问题的答案,现在我在堆栈上找到了这个答案

https://stackoverflow.com/a/10132588/2393553

并相应地修改了我的代码。但我仍然无法让它工作:/

这是我的 CSS

#navigation {
    margin-top:-15px;
    font-size: 14pt;
    z-index:9000;
}

#navigation ul {
    float: right;
    list-style-type: none;
    z-index:9000;
    padding:0px;
    margin:0px;
}

#navigation li {
    float: left;
    color: #505050;
    position:relative;
    z-index:9000;
    right:0px;
    display:block;
}


#navigation li ul
{
    display: none;
    z-index: 9000;
    position:absolute;
    top:100%;
    left:0;
}

#navigation li ul.end
{
    display: none;
    z-index: 9000;
    position:relative;
    top:auto;
    right:0;
}

#navigation a
{
    display: block;
    text-decoration: none;
    color: #00529f;
    padding: 5px 7px 5px 7px;
    margin-left: 1px;
    white-space: nowrap;
    z-index: 9000;
}

#navigation li a:hover 
{
    background: #00529f;
    color:#fff;
    text-decoration: none;
    z-index: 9000;
    margin:0px;
    display:block;
}

#navigation li:hover ul 
{
    display: block;
    z-index:9000;
    left:auto;
    margin-left:0px;
}

#navigation li:hover li
{
    float: none;
    font-size: 18px;
    text-align: left;
    font-family: verdana;
    z-index:9000;
    border-top:1px solid #fff;
    margin-left:0px;
}

#navigation li:hover a 
{
    background: #00529f;
    color:#fff;
    z-index:9000;
    margin-left:0px;
}

#navigation li:hover li a:hover
{
    background: #7ca7d8;
    z-index:9000;
    margin-left:0px;
}

这是我的 HTML

<div id = "navigation">
    <ul>
        <li><a href = "<?=$myroot?>index"><?=get_content(1)?></a></li>
        <li><a href = "<?=$myroot?>about"><?=get_content(2)?></a>
            <ul>
                <li><a href = "<?=$myroot?>help"><?=get_content(7)?></a></li>
                <li><a href = "<?=$myroot?>news"><?=get_content(199)?></a></li>
                <li><a href = "<?=$myroot?>about/awards/5"><?=get_content(201)?></a></li>
                <li><a href = "<?=$myroot?>about/awards/5"><?=get_content(202)?></a></li>
            </ul>
        </li>
        <li><a href = "<?=$myroot?>products"><?=get_content(1322)?></a>
            <ul>
                <li><a href = "<?=$myroot?>products/manufacturers"><?=get_content(3208)?></a></li>
            </ul>
        </li>
        <li><a href = "<?=$myroot?>services"><?=get_content(3950)?></a></li>
        <li><a href = "<?=$myroot?>media"><?=get_content(1825)?></a>
            <ul>
                <li><a href = "<?=$myroot?>blog"><?=get_content(3972)?></a></li>
                <li><a href = "<?=$myroot?>media/repair_brochure/united_kingdom_aldridge"><?=get_content(1816)?></a></li>
                <li><a href = "<?=$myroot?>media/videos/"><?=get_content(505)?></a></li>
            </ul>
        </li>
        <li><a href = "<?=$myroot?>contact"><?=get_content(4)?></a>
            <ul class="end">
                <li><a href = "<?=$myroot?>meet_the_team.php"><?=get_content(4050)?></a></li>
                <li><a href = "<?=$myroot?>find-a-branch.php"><?=get_content(4005)?></a></li>
            </ul>
        </li>
    </ul>
</div>

有人可以帮忙吗?

快速编辑通知您,当使用 IEtester 测试它时,它在 IE8 中不起作用。它也不适用于安装了 IE8 的同事机器。但是,当使用 IE10 中的开发人员工具对其进行测试时,将版本设置回 IE8 它确实有效。我仍然没有解决方案:/

最佳答案

我使用了您的代码并删除了 href 代码。它在 IE8 中对我来说工作正常(我使用 ie 开发人员工具对此进行了测试)。

这是我测试过的 HTML。

<!DOCTYPE html>
<html>
<head>
    <title></title>
        <style>
#navigation {
margin-top:-15px;
font-size: 14pt;
z-index:9000;
}

#navigation ul {
float: right;
list-style-type: none;
z-index:9000;
padding:0px;
margin:0px;
}

#navigation li {
float: left;
color: #505050;
position:relative;
z-index:9000;
right:0px;
display:block;
}


#navigation li ul
{
display: none;
z-index: 9000;
position:absolute;
top:100%;
left:0;
}

#navigation li ul.end
{
display: none;
z-index: 9000;
position:relative;
top:auto;
right:0;
}

#navigation a
{
display: block;
text-decoration: none;
color: #00529f;
padding: 5px 7px 5px 7px;
margin-left: 1px;
white-space: nowrap;
z-index: 9000;
}

#navigation li a:hover 
{
background: #00529f;
color:#fff;
text-decoration: none;
z-index: 9000;
margin:0px;
display:block;
}

#navigation li:hover ul 
{
display: block;
z-index:9000;
left:auto;
margin-left:0px;
}

#navigation li:hover li
{
float: none;
font-size: 18px;
text-align: left;
font-family: verdana;
z-index:9000;
border-top:1px solid #fff;
margin-left:0px;
}

#navigation li:hover a 
{
background: #00529f;
color:#fff;
z-index:9000;
margin-left:0px;
}

#navigation li:hover li a:hover
{
background: #7ca7d8;
z-index:9000;
margin-left:0px;
}

    </style>

</head>

    <body>

   <div id = "navigation">
<ul>
    <li><a href = "">sdfs</a></li>
    <li><a href = "">sdfs</a>
        <ul>
            <li><a href = "">sdfs</a></li>
            <li><a href = "">ddfsdfs</a></li>
            <li><a href = "">sdfsfsfsd</a></li>
            <li><a href = "">hdfgfd</a></li>
        </ul>
    </li>
    <li><a href = "">fhfgh</a>
        <ul>
            <li><a href = "">hkhfjf</a></li>
        </ul>
    </li>
    <li><a href = "">lghjn</a></li>
    <li><a href = "">tyjffgh</a>
        <ul>
            <li><a href = "">gfdhhgd</a></li>
            <li><a href = "">lhghjgjg</a></li>
            <li><a href = "">ccvcxv</a></li>
        </ul>
    </li>
    <li><a href = "">gfdfd</a>
        <ul class="end">
            <li><a href = "">fdfdfd</a></li>
            <li><a href = "">dgdfgdfgfd</a></li>
        </ul>
    </li>
</ul>
</div>

    </body>
</html>

关于html - CSS 下拉菜单在 IE8 中消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23514217/

相关文章:

html - 如何在每次请求时自动预编译 css.erb 文件

css - 删除 3D 按下​​效果 Internet Explorer 按钮

css - 透视和背面可见性有问题

javascript - 在 IE11 中加载 Facebook SDK 会破坏 CSS 动画

html - 即使我们没有使用任何新的 css 3 属性/选择器,firefox 3 和 3.5 以及 IE 7 和 8 之间是否存在渲染差异的可能性?

javascript - 互联网浏览器 : how to escape extra carriage return after editing Textarea?

html - 如何解决这个 IE7 错误?

javascript - 使用 JavaScript 进行日期验证

html - <thead> 在移动版 WordPress 表格中没有响应

javascript - css div宽度根据图像宽度