IE6下拉导航无法正常工作

时间:2010-03-05 14:37:12

标签: internet-explorer-6 navigation

我的下拉菜单在IE6中不起作用。这是css代码

 a:focus {
outline:none;}

.menu {
width:1000px; 
height:32px; 
position:relative; 
z-index:100;
font-family:arial, sans-serif;
}

/* hack to correct IE5.5 faulty box model */
* html .menu {
width:1000px; 

}

/* remove all the bullets, borders and padding from the default list styling */
.menu ul {
padding:0;
margin:0;
list-style-type:none;
}

.menu ul ul {
width:149px;
}

/* float the list to make it horizontal and a relative positon so that you can control the dropdown menu positon */
.menu li {
float:left;
width:149px;
position:relative; 
border-top: #999 1px solid;
 margin-right:10px;
 }

.menu li:hover {
float:left;
border-top: #ff0 1px solid;
}

.nav-selected {
font-weight: bold;
}

.menu li li:hover {
float:left;
border-top: none;
 color: #999;
 }

.menu li li {
float:left; 
width:149px; 
position:relative; 
border-top: none;
}


/* style the links for the top level */
.menu a, .menu a:visited {
display:block;
font-size:12px;
text-decoration:none; 
color:#999; 
width:149px; 
height:26px; 
line-height:29px;
}

/* a hack so that IE5.5 faulty box model is corrected */
* html .menu a, * html .menu a:visited {
width:149px; 
w\idth:149px;
}

/* style the second level background */
.menu ul ul a.drop, .menu ul ul a.drop:visited {}
/* style the second level hover */
.menu ul ul a.drop:hover{}
.menu ul ul :hover > a.drop {}
/* style the third level background */
.menu ul ul ul a, .menu ul ul ul a:visited {}
/* style the third level hover */
.menu ul ul ul a:hover {}

/* hide the sub levels and give them a positon absolute so that they take up no room */
.menu ul ul {

visibility: hidden;
position:absolute;
height:0;
top:26px;
left:0; 
width:150px;

}

/* another hack for IE5.5 */
* html .menu ul ul {
top:26px; 
t\op:27px;
}

/* position the third level flyout menu */
.menu ul ul ul{
left:149px;
 top:-1px; 
 width:149px;
 }

/* position the third level flyout menu for a left flyout */
.menu ul ul ul.left {
left:-149px;
}



/* style the table so that it takes no ppart in the layout - required for IE to work */
.menu table {
position:absolute;
top:0; 
left:0; 
border-collapse:collapse;
}

/* style the second level links */
.menu ul ul a, .menu ul ul a:visited {
color:#999; 
height:auto; 
line-height:15px; 
padding-bottom:4px; 
width:149px;
}

/* yet another hack for IE5.5 */
* html .menu ul ul a, * html .menu ul ul a:visited {
width:149px; 
w\idth:149px;
}

/* style the top level hover */
.menu a:hover {color:#ff0;}
.menu ul ul a:hover {color:#ccc;}
.menu :hover > a {color:#ff0;}
.menu ul ul :hover > a {color:#ccc;}

/* make the second level visible when hover on first level list OR link */
.menu ul li:hover ul, .menu ul a:hover ul{
visibility:visible;
width: auto;
 }
/* keep the third level hidden when you hover on first level list OR link */
.menu ul :hover ul ul{
visibility:hidden;
}
/* make the third level visible when you hover over second level list OR link */
.menu ul :hover ul :hover ul{ 
visibility:visible;
}

请尽快帮助我......

1 个答案:

答案 0 :(得分:0)

如果你在谈论菜单的实际下拉部分不起作用,那是因为overflow命令在IE6中被破坏了。 IE6未正确显示overflow属性(在这种情况下为overflow: visible以允许显示下拉菜单)。不幸的是没有简单的解决办法。您可以在网上搜索IE6的一些CSS Hacks来尝试修复溢出问题,但它们并不适用于所有情况。祝你好运。