使用无序列表w /和无回车的菜单在IE 6中有所不同

Rya*_*ill 2 css cross-browser internet-explorer-6

我为标题道歉,我真的不知道更好的方式(如果你有更好的方法让我知道,我会改变它).请考虑以下代码:

<html>
    <head>
        <title>IE 6 Menu Test</title>
        <style type="text/css">
            .nMenu {
                border: 1px solid black;
            }

            .nMenu ul {
                margin: 0;
                padding: 0;
                list-style-type: none;
            }

            .nMenu a {
                display: block;
                padding: 3px 0px 3px 5px;
                background-color: #fff;
                border-bottom: 1px solid #eee;
                font-weight: bold;
                text-decoration: none;
            }

            .nMenu a:hover {
                background-color: #dddddd;
            }
        </style>
    </head>
    <body>
        <div class="nMenu">
            <ul>
                <li><a href="">One</a></li><li><a href="">Two</a></li><li><a href="">Three</a></li><li><a href="">Four</a></li><li><a href="">Five</a></li>
            </ul>                        
        </div>

        <hr />

        <div class="nMenu">
            <ul>
                <li><a href="">One</a></li>
                <li><a href="">Two</a></li>
                <li><a href="">Three</a></li>
                <li><a href="">Four</a></li>
                <li><a href="">Five</a></li>
            </ul>                        
        </div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

在Firefox中,顶部和底部菜单显示完全相同.但是在IE6中,底部版本与顶部相同,除了在每个列表元素之后回车时,在每个元素上方显示额外的填充.没有回车的顶级版本没有.滚动底部列表中的项目时,这尤其明显(额外填充).

似乎IE6由于某种原因呈现回车.现在我们只是像上面的示例一样使用格式化代码,但这不太理想.我们可以在CSS中使用什么东西让它在IE6中看起来合适吗?

bax*_*ter 7

适用display: block;li,告诉IE6使a100%的宽度,并且告诉所有浏览器以显示a作为块来代替.

.nMenu li {
    display: block;
}

/* hack for IE6 */
* html .nMenu a 
{
    width: 100%
}

.nMenu a {
    display: block;
    padding: 3px 0px 3px 5px;
    background-color: #fff;
    border-bottom: 1px solid #eee;
    font-weight:bold;
    text-decoration:none;
}

在IE6中尝试过,两个列表看起来完全相同,并且在Firefox中渲染完全相同.