Я прошу прощения за заголовок, я действительно не знаю лучшего способа выразить это (дайте мне знать, если у вас есть лучший способ, я его поменяю). Пожалуйста, рассмотрите следующий код:
<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>
В Firefox верхнее и нижнее меню отображаются одинаково. Но в IE6 нижняя версия, идентичная верхней, за исключением возвратов каретки после каждого элемента списка, отображается с дополнительным заполнением над каждым элементом. Топовая версия без возврата каретки не имеет. Это особенно заметно (дополнительное заполнение) при наведении на элементы в нижнем списке.
Похоже, IE6 по какой-то причине отрисовывает возврат каретки. На данный момент мы только что прибегли к форматированию нашего кода, как в верхнем примере, но это далеко не идеально. Есть ли что-то, что мы можем добавить в CSS, чтобы это выглядело правильно в IE6?