Html ve CSS ile bunu yapabilirsin.
  İlk önce menüleri ve alt başlıkları hazırlayalım: 
  HTML: 
  <ul id="menu" >
    <li><a href="#">Anasayfa</a></li>
    <li><a href="#">Haberler</a>
    <ul>
        <li><a href="#">şirket Haberleri </a></li>
        <li><a href="#">Yurt içi Haberleri </a></li>
        <li><a href="#">Yurt dışı Haberleri</a></li>
    </ul>
    </li>
    <li><a href="#">Ürünler</a>
    <ul>
        <li><a href="#">Tencere</a></li>
        <li><a href="#">Tava</a></li>
        <li><a href="#">Ütü</a></li>
        <li><a href="#">Tost Makinesi </a></li>
        <li><a href="#">El Süpürgesi </a></li>
    </ul>
    </li>
</ul>
     İlk olarak satır başı boşluklarını ve imgeleri kaldıralım.  
  Kod: 
  ul#menu, ul#menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
     Daha sonra menümüzü yatay hale getirmek için float özelliğini kullanalım. Normalde bunun için display:inline kodunu da kullanabiliriz.Sonra ilk linkleri göreceli olarak konumlandırmalıyız. Bu konumlandırma aslında ikinci kademe açılacak menüye mutlak konumlandırma yapılması için kullanılır.  
  Kod: 
  ul#menu li {
    float: left;
    position: relative;
    width: 150px;
}
       Kod: 
  Göreceli olarak konumlandırılmış(postion:relative) bir elementin içindeki Mutlak Konumlandırılmış(position:absolute) bir element içerik blokunun(burada menünün ilk linkleri) üst,sağ,sol ve alttından hizalandıralabilir.
       Kod: 
  ul#menu li {
    float: left;
    position: relative;
    width: 150px;
}
     Sonra ikincil linkleri sayfaya ilk açıldığında görünmez(display:none) yapalım. Birincil linklere göre konumlandırmak için postion:absolute özelliği ve top:19px (satır yüksekliği 15px + 2px alttan(sonra ekleyeceğiz) + 2px üstten(sonra ekleyeceğiz)) özelliğini kullanalım.   
  Kod: 
  ul#menu li ul {
    display: none;
    position: absolute;
    top: 19px; /* yukseklik 15px + sonradan eklenecek paddingler 4px toplam 19px */
    left: 0;
}
     Yalnız burada IE sorun çıkaracaktır. IE ve Opera ikincil menüleri konumlandırmasında sorun çıkarır, bunu engellemek için: 
  Kod: 
  ul#menu li > ul {
    top: auto;
    left: auto;
}
     Görünümü biraz güzelleştirelim: 
  Kod: 
  ul#menu li a {
    font: bold 11px arial, helvetica, sans-serif;
    display: block;
    border-width: 1px;
    border-style: solid;
    border-color: #ccc #888 #555 #bbb;
    margin: 0;
    padding: 2px 3px;
    color: #000;
    background: #efefef;
    text-decoration: none;
}
     ve Rollover(üstüne gelinceki) hali için: 
  Kod: 
  ul#menu li a:hover {
    color: #a00;
    background: #fff;
}
     Sonra birincil linklerin üzerine gelince ikincil linklerin görünmesi için: 
  Kod: 
  ul#menu li:hover ul {
	display: block;
}
     Bu kod IE’de çalışmayacaktır. IE’de çalışması için aşağıdaki javascript kodlarını sayfaya entegre etmeliyiz: 
  HTML: 
  <script>
startList = function() {
    if (document.all&&document.getElementById) {
        navRoot = document.getElementById("menu");
        for (i=0; i<navRoot.childNodes.length; i++) {
            node = navRoot.childNodes[i];
            if (node.nodeName=="LI") {
                node.onmouseover=function() {
                this.className+=" over";
                }
                node.onmouseout=function() {
                this.className=this.className.replace(" over", "");
                }
            }
        }
    }
}
window.onload=startList;
</script>
     Ayrıca aşağıdaki kodu da eklemeliyiz. 
  Kod: 
  ul#menu li:hover ul, ul#menu li.over ul{
	display: block;
}
    
 Kaynak Dosyalar...  Kaynak:fatihayiroglu.com