Forum Moderators: not2easy

Message Too Old, No Replies

Flyout Navigation Not Working in IE

CSS driven flyout navigation works in FF, but not IE

         

puddles

9:26 pm on Mar 10, 2007 (gmt 0)

10+ Year Member



The following CSS is used for a horizontal, flyout menu. However, the second and third level flyouts do not appear in IE when I hover over the top level links. It works fine in FF. I am testing on IE 6.0.

Any hints as to what might be wrong would be greatly appreciated. I'll continue to search these forums to see if I can find anything that will help.

Thanks.

.menu {
font-family: Tahoma, Verdana, Arial, Helvetica, sans-serif;
width: 940px;
height: 58px;
margin: 0px auto;
font-size: 0.85em;
position: relative;
z-index: 100;
background: url(images/homepage04.jpg) no-repeat left top;
}

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

/* make each ul (or nav column) 150 px wide */
.menu ul ul {
width: 150px;
}

/* 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:150px;
position: relative;
}

/* style the links for the top level */
.menu a, .menu a:visited {
display: block;
font-size: 12px;
font-weight: bold;
text-decoration: none;
color: #FFFFFF;
width: 139px;
height: 58px;
border-width: 1px 1px 0 0;
background: url(images/subpage1_01.gif) no-repeat left top;
padding-top: 10px;
padding-left: 10px;
line-height: 29px;
}

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

/* style the second level links */
.menu ul ul a, .menu ul ul a:visited {
background: #d4d8bd;
color: #000;
height: auto;
line-height: 1em;
padding: 5px 10px;
width: 129px;
/* yet another hack for IE5.5 */
}
* html .menu ul ul a{
width: 150px;
w\idth: 129px;
}

/* style the second level background for drop links*/
.menu ul ul a.drop, .menu ul ul a.drop:visited {
background:#d4d8bd url(images/drop.gif) bottom right no-repeat;
}

/* style the second level hover */
.menu ul ul a.drop:hover {
background:#c9ba65 url(images/drop.gif) bottom right no-repeat;
}

.menu ul ul :hover > a.drop {
background:#c9ba65 url(images/drop.gif) bottom right no-repeat;
}

/* style the third level background */
.menu ul ul ul a, .menu ul ul ul a:visited {
background:#e2dfa8;
}

/* style the third level hover */
.menu ul ul ul a:hover {
background:#b2ab9b;
}

/* 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: 58px;
left: 0;
width: 150px;
}

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

/* position the third level flyout menu to the right */
.menu ul ul ul{
left: 150px;
top: 0;
width: 150px;
}

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

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

/* style the top level hover */
.menu a:hover, .menu ul ul a:hover{
text-decoration: underline;
}

.menu :hover > a, .menu ul ul :hover > a {
text-decoration: underline;
}

/* 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;
}

/* 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;
}

cmarshall

9:29 pm on Mar 10, 2007 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



whatever:hover
no workee on IE6 (It will probably work on IE7).

IE6 only supports

a:hover