Drupal Drop down menu Horizontal style with simple JQuery

Drupal theme - How to theme menu supporting IE7 and IE6 When you generate menu using Drupal, the code looks like this.

HTML code

<div id="nav">
<ul class="menu">
    <li><a href="#">Home</a></li>
    <li><a title="" href="href="#"">menu01</a>
    <ul class="menu">
        <li class="leaf first"><a title="" href="href="#"">submenu 01</a></li>
        <li class="leaf"><a title="" href="#">submenu 02</a></li>
        <li class="leaf"><a title="" href="#">submenu 03</a></li>
        <li class="leaf last"><a title="" href="#">submenu 04</a></li>
    </ul>
    </li>
    <li><a title="" href="#">menu02</a>
    <ul class="menu">
        <li class="leaf first"><a title="" href="#">submenu 01</a></li>
        <li><a title="" href="#">submenu 02</a></li>
        <li><a title="" href="#">submenu 03</a></li>
    </ul>
    </li>
    <li><a title="" href="#">menu03</a>
    <ul class="menu">
        <li class="leaf first"><a title="" href="#">submenu 01</a></li>
        <li><a title="" href="#">submenu 02</a></li>
    </ul>
    </li>
    <li><a title="" href="#">menu04</a>
    <ul class="menu">
        <li class="leaf first"><a title="" href="#">submenu 01</a></li>
        <li class="leaf last"><a title="" href="#">submenu 02</a></li>
    </ul>
    </li>
</ul>
</div>

Step 2

add some style.css

#nav ul.menu {
 margin: 0;
 padding: 0;
 list-style: none;
}
#nav li{
  margin: 0 0 0 0px;
  padding: 0 0 0 0px;
  
  display: block;  
  position: relative;

  border:solid 1px #c9dea1;
}
#nav li ul{
  display: none;
  position: absolute;
  left: 159px;
  top: 0;
}
#nav li.hover ul,
#nav li:hover ul
{  
    display: block;
    width: 180px;   
}
#nav a.active{
  color: #006600;
}
#nav li a{
  display: block;
  text-decoration: none;
  
  padding: 5px;
  background-color: #efefef;
}
#nav ul,
#nav ul li,
#nav li.leaf
{
  list-style: none;
  list-style-image: none;
  list-style-type: none;
}

Don't be happy yet. There are evil IE7 and IE6 are waiting for you.

for IE7 patch

 html ul li { height: 1%; }
* html ul li a { height: 1%; }

#nav ul.menu li
{
  height: 1%!important;
  hasLayout: 1;
  zoom: 1;
  display: inline;
  width: 160px;
}

for IE6 patch : there could be some reason dropdown menu doesn't work properly. when rollover first element on the list element, 2nd level of drop down is suddenly disappeared...so I need to coded like this

 #nav ul.menu li
{
  height: auto;
  hasLayout: 1;
  zoom: 1;
  display: block;
  width: 160px;
}

#nav ul.menu li a{    
 zoom: 1;
 hasLayout: 1;
 display: inline-block;
 width: 150px;
}

This is works for me.

Bonus - JQuery for IE7 and IE6 browser

 if(Drupal.jsEnabled){
 $(document).ready(function() {      	
   
    $('#nav li').hover(
	  function(){
	    $(this).addClass("hover"); 
	  },
	  function(){
	    $(this).removeClass("hover");
	  }								
    );
 });
}

Reference site

http://drupal.org/project/syntaxhighlighter
http://alexgorbatchev.com/SyntaxHighlighter/download/