Vertical Submenu not working in IE

cynthgrl

New Member
I made a vertical spry menu bar with a few submenus. These submenus do not show on Internet Explorer, but show up in FF, Opera, and Netscape & (Safari-of course). Please let me know what I have to change for this to work! I have been trying all different kinds of things and cannot seem to get it working.

The below is my code...

@charset "UTF-8";

/* SpryMenuBarVertical.css - version 0.6 - Spry Pre-Release 1.6.1 */

/* Copyright (c) 2006. Adobe Systems Incorporated. All rights reserved. */

/************************************************** *****************************

LAYOUT INFORMATION: describes box model, positioning, z-order

************************************************** *****************************/

/* The outermost container of the Menu Bar, a fixed width box with no margin or padding */
ul.MenuBarVertical
{
margin: 0;
padding: 0;
list-style-type: none;
font-size: 11px;
cursor: default;
width: 148px;
font-family: Georgia, "Times New Roman", Times, serif;
font-weight: bold;
border: 1px none #666;
}
/* Set the active Menu Bar with this class, currently setting z-index to accomodate IE rendering bug: http://therealcrisp.xs4all.nl/meuk/IE-zindexbug.html */
ul.MenuBarActive
{
z-index: 1000;
}
/* Menu item containers, position children relative to this container and are same fixed width as parent */
ul.MenuBarVertical li
{
margin: 0;
padding: 0;
list-style-type: none;
font-size: 100%;
position: relative;
text-align: left;
cursor: pointer;
width: 148px;
}
/* Submenus should appear slightly overlapping to the right (95%) and up (-5%) with a higher z-index, but they are initially off the left side of the screen (-1000em) */
ul.MenuBarVertical ul
{
margin: 0 0 0 100%;
padding: 0;
list-style-type: none;
font-size: 100%;
position: absolute;
z-index: 1020;
cursor: default;
width: 135px;
left: -1000em;
top: 0;
}
/* Submenu that is showing with class designation MenuBarSubmenuVisible, we set left to 0 so it comes onto the screen */
ul.MenuBarVertical ul.MenuBarSubmenuVisible
{
left: 0;
}
/* Menu item containers are same fixed width as parent */
ul.MenuBarVertical ul li
{
width: 135px;
}

/************************************************** *****************************

DESIGN INFORMATION: describes color scheme, borders, fonts

************************************************** *****************************/

/* Outermost menu container has borders on all sides */
ul.MenuBarVertical
{
border: 1px solid #CCC;
}
/* Menu items are a light gray block with padding and no text decoration */
ul.MenuBarVertical a
{
display: block;
cursor: pointer;
background-color: #2D2F96;
padding: 0.5em 0.75em;
color: #FFF;
text-decoration: none;
height: 34px;
border: 1px solid #FFF;
}
/* Menu items that have mouse over or focus have a blue background and white text */
ul.MenuBarVertical a:hover, ul.MenuBarVertical a:focus
{
background-color: #FF5D00;
color: #FFF;
}
/* Menu items that are open with submenus are set to MenuBarItemHover with a blue background and white text */
ul.MenuBarVertical a.MenuBarItemHover, ul.MenuBarVertical a.MenuBarItemSubmenuHover, ul.MenuBarVertical a.MenuBarSubmenuVisible
{
background-color: #FF5D00;
color: #FFF;
}

/************************************************** *****************************

SUBMENU INDICATION: styles if there is a submenu under a given menu item

************************************************** *****************************/

/* Menu items that have a submenu have the class designation MenuBarItemSubmenu and are set to use a background image positioned on the far left (95%) and centered vertically (50%) */
ul.MenuBarVertical a.MenuBarItemSubmenu
{
background-image: url(SpryMenuBarRightHover.gif);
background-repeat: no-repeat;
background-position: right center;
}

/* Menu items that are open with submenus have the class designation MenuBarItemSubmenuHover and are set to use a "hover" background image positioned on the far left (95%) and centered vertically (50%) */
ul.MenuBarVertical a.MenuBarItemSubmenuHover
{
background-image: url(SpryMenuBarRightHover.gif);
background-repeat: no-repeat;
background-position: 95% 50%;
}

/************************************************** *****************************

BROWSER HACKS: the hacks below should not be changed unless you are an expert

************************************************** *****************************/

/* HACK FOR IE: to make sure the sub menus show above form controls, we underlay each submenu with an iframe */
ul.MenuBarVertical iframe
{
position: absolute;
z-index: 1010;
filter:alpha(opacity:0.1);
}
/* HACK FOR IE: to stabilize appearance of menu items; the slash in float is to keep IE 5.0 from parsing */
@media screen, projection
{
ul.MenuBarVertical li.MenuBarItemIE
{
display: list-item;
f\loat: right;
background-position: 0 0 0 100%;
}
}
.headings {
font-family: Arial, Helvetica, sans-serif;
font-size: 20px;
font-weight: bold;
color: #2D2F96;
text-align: center;
}
website links {
font-family: Verdana, Geneva, sans-serif;
font-size: 12px;
color: #000;
text-align: center;
}
 
Hi, try this one:

/***CSS***/

@charset "utf-8";
/* CSS Document */

body {
behavior: url(csshover3.htc);
font-size: 100%;
}
/*
the Magic Ingredient for drop down menus to look perfect in IE, the csshover.htc file.
*/

#menu {
width: 100%;
background: #CCCCCC;
float: left;
}
#menu ul {
list-style: none;
margin: 0;
padding: 0;
width: 12em;
float: left;
}

#menu ul li {
float: left;
width: 100%;
}

#menu ul li a {
height: 1%;
}

/*
REFER to THE CODE ABOVE:
Firstly this time the #menu div is still our "container" only this time we want it to be 100% wide, so we could leave it as it is because it would default to this. However to properly contain the floated child lists if we also float the #menu div is will stretch to contain its floated children.

We then need to set the required dropdown width but this time it goes directly onto the <ul> elements themselves, and the need to be floated in order to appear side by side. We also still need to remove all the default padding, margins and bullets from the <ul>s the same as before.
*/

#menu a, #menu h2 {
font: bold 0.7em/1.4em Arial, Helvetica, sans-serif;
display: block;
border-bottom-width: 1px;
border-bottom-style: solid;
border-bottom-color: #006699;
margin: 0;
padding: 2px 3px;
}

#menu h2 {
color: #FFFFFF;
background: #000;
text-transform:uppercase;
}

#menu a {
color: #000000;
background: #006666;
text-decoration:none;
}

#menu a:hover {
color: #990099;
background: #FFFFFF;
}

/*
Then we apply the required formatting to the <h2> headings and the <a> anchors, again I'm using the same formatting as the vertical menu
*/

#menu li {
position: relative;
}

#menu ul ul ul {
position: absolute;
top: 0;
left: 100%;
}

/*Positioning the Pop-out Drops*/

#menu ul ul {
position: absolute;
z-index: 500;
}

/*
However now, which is not apparent yet in these simple demo pages, we have a problem if there is text underneath this navigation bar, which there would most likely be in a real page.

We can do this by pulling it out of the flow using absolute positioning again, only this time we don't want to give it any offset co-ordinates, because we're actually happy with where it is, and just in case we'll give it a high z-index to ensure it and it's children actually do appear over the top of any positioned text that may follow.
*/


div#menu ul ul {
display: none;
}
/*Hiding and Revealing using :hover*/

div#menu ul li:hover ul {
display: block;
}
/*Again the convoluted CSS to keep IE happy, this time when we hover over the first <li> which is in fact the heading too we want the child lists to appear*/

div#menu ul ul,
div#menu ul li:hover ul ul,
div#menu ul ul li:hover ul ul {
display: none;
}

div#menu ul li:hover ul,
div#menu ul ul li:hover ul,
div#menu ul ul ul li:hover ul {
display:block;
}
/*
the display: block; rules show the three levels being activated with the display: none; rules being entered afterwards to more specifically hide the unwanted (deeper nested) lists (counteract them).
*/


/*** HTML ***/

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<link href="nav.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div id="menu">
<ul>
<li><h2>CSS Drop Down Menus</h2>
<ul>
<li><a href="http://www.seoconsultants.com/tips/css/#cssmenus" title="SEO Consultants Directory">CSS Hover Navigation</a>
<ul>
<li><a href="../css-dropdown-menus.html" title="tanfa Introduction">Intro for CSS Enthusiasts</a></li>
<li><a href="index.html" title="Plain HTML Code">Demonstration HTML</a></li>
<li><a href="http://www.xs4all.nl/~peterned/csshover.html" title="whatever:hover file">csshover.htc file</a></li>
</ul>
</li>
</ul>
</li>
</ul>

<ul>
<li><h2>Vertical CSS Pop-Out Menu</h2>
<ul>
<li><a href="http://www.seoconsultants.com/css/menus/vertical/" title="SEO Consultants Vertical Example">SEO Consultants Sample</a></li>
<li><a href="vs7.html" title="Complete Example">tanfa Demo example</a>
<ul>
<li><a href="index.html#">tanfa Tutorial</a><!-- link to seo vertical tut -->
<ul>
<li><a href="vs1.html" title="Vertical Menu - Page 1">Stage 1</a></li>
<li><a href="vs2.html" title="Vertical Menu - Page 2">Stage 2</a></li>
<li><a href="vs3.html" title="Vertical Menu - Page 3">Stage 3</a></li>
<li><a href="vs4.html" title="Vertical Menu - Page 4">Stage 4</a></li>
<li><a href="vs5.html" title="Vertical Menu - Page 5">Stage 5</a></li>
<li><a href="vs6.html" title="Vertical Menu - Page 6">Stage 6</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>

<ul>
<li><h2>Horizontal Drop & Pop Menu</h2>
<ul>
<li><a href="http://www.seoconsultants.com/css/menus/horizontal/" title="SEO Consultants Directory Example">SEO Consultants Sample</a></li>
<li><a href="hs7.html">tanfa Demo example</a><!-- fully working sample -->
<ul>
<li><a href="index.html#">tanfa Tutorial</a><!-- link to horizontal tut -->
<ul>
<li><a href="hs1.html" title="Horizontal Menu - Page 1">Stage 1</a></li>
<li><a href="hs2.html" title="Horizontal Menu - Page 2">Stage 2</a></li>
<li><a href="hs3.html" title="Horizontal Menu - Page 3">Stage 3</a></li>
<li><a href="hs4.html" title="Horizontal Menu - Page 4">Stage 4</a></li>
<li><a href="hs5.html" title="Horizontal Menu - Page 5">Stage 5</a></li>
<li><a href="hs6.html" title="Horizontal Menu - Page 6">Stage 6</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>



</body>
</html>
 
Top