У меня есть макет на основе абсолютного позиционирования и меню на основе CSS в области заголовка. В Firefox все работает нормально, но в Internet Explorer 7 и 8 раскрывающиеся меню покрываются областью содержимого. В этом случае IE просто не учитывает свойство z-index.
Я читал о контекстах стека и ошибке z-index , но все равно не смог заставить ее работать Есть ли способ исправить это, не сбросив position:absolute
на #content
? Однако я могу изменить метод позиционирования, используемый для области навигации.
Вот упрощенный код:
<!DOCTYPE html>
<html>
<head>
<style>
#nav {margin:0; padding: 0; position: absolute; left: 0; top: 0; right: 0; height: 2em; background: #eee}
#nav > li {float: left; list-style: none; position: relative; }
#nav > li > a {display: block; position: relative; margin: 0; background-color: #eee; padding: 5px; border: 1px solid #eee; text-decoration: none; color: #444;}
#nav > li:hover > a { background-color: #ddd; }
#nav li ul { z-index: 1; display: none; position: absolute; padding: 0; margin: 0; list-style: none; border: 1px solid black; background: #eee; width: 100px; }
#nav li:hover ul {display: inline;}
#nav li ul li {list-style: none; margin: 0; padding: 0; height: 5em; }
#nav li ul li a {display: block; padding: 5px; margin: 0; color: #444; text-decoration: none; white-space: nowrap;}
#content { position: absolute; top: 3em; left: 0; right: 0; bottom: 0; background: #ccc; }
</style>
</head>
<body>
<ul id="nav">
<li><a href="#">A</a><ul><li>...</li></ul></li>
<li><a href="#">Group B</a><ul><li>...</li></ul></li>
<li><a href="#">The third group</a><ul><li>...</li></ul></li>
</ul>
<div id="content"></div>
</body>
</html>