How to make menu by pure CSS

I was asked to find a solution for making a horizontal dropdown menu in HTML. I don't know how to do it but I'm sure it is possible especially in Firefox. After searching in Google, I found a good tutorial.

I just need to use CSS as follows.

#menu {
width: 100%;
background: #eee;
float: left;
}
 
#menu ul {
list-style: none;
margin: 0;
padding: 0;
width: 12em;
float: left;
}
 
#menu a, #menu h2 {
font: bold 11px/16px arial, helvetica, sans-serif;
display: block;
border-width: 1px;
border-style: solid;
border-color: #ccc #888 #555 #bbb;
margin: 0;
padding: 2px 3px;
}
 
#menu h2 {
color: #fff;
background: #000;
text-transform: uppercase;
}
 
#menu a {
color: #000;
background: #efefef;
text-decoration: none;
}
 
#menu a:hover {
color: #a00;
background: #fff;
}
 
#menu li {position: relative;}
 
#menu ul ul {
position: absolute;
z-index: 500;
}
 
#menu ul ul ul {
position: absolute;
top: 0;
left: 100%;
}
 
div#menu ul ul {
display: none;
}
 
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;}

And then format the menu as follows.

However, above CSS does not work correctly in IE6 and older. I need special style as follows.

In addition, you need csshover.htc from whatever:hover.

Tags: , ,

Reply