Ciao,
ti allego il codice html e il javascript e css....
pagina HTML
<html xmlns="http://www.w3.org/1999/xhtml">
<link rel="stylesheet" type="text/css" media="screen" href="css/css.css" />
<script type="text/javascript" src="jq.js"></script>
<body>
<div id="menu">
<ul>
<li>
<a href="#nogo">Link 1</a>
<ul>
<li><a href="#nogo">Link 1-1</a></li>
<li><a href="#nogo">Link 1-2</a></li>
<li><a href="#nogo">Link 1-3</a></li>
</ul>
</li>
<li>
<a href="#nogo">Link 2</a>
<ul>
<li><a href="#nogo">Link 2-1</a></li>
<li><a href="#nogo">Link 2-2</a></li>
<li><a href="#nogo">Link 2-3</a></li>
</ul>
</li>
<li>
<a href="#nogo">Link 3</a>
<ul>
<li><a href="#nogo">Link 3-1</a></li>
<li><a href="#nogo">Link 3-2</a></li>
<li><a href="#nogo">Link 3-3</a></li>
</ul>
</li>
</ul>
</div>
</body>
</html>
JS
$(document).ready(function () {
$('#nav li').hover(
function () {
//mostra sottomenu
$('ul', this).stop(true, true).delay(50).slideDown(100);
},
function () {
//nascondi sottomenu
$('ul', this).stop(true, true).slideUp(200);
}
);
});
#menu{padding:0;margin:0;}
#menu ul{padding:0;margin:0;}
#menu li{position: relative;float: left;list-style: none;margin: 0;padding:0;}
/*
Posso adesso dare un pò di stile ai links:
larghezza width:100px;
altezza height:30px;
dichiaro come blocco display:block;
tolgo la sotto lineatura dei links text-decoration:none;
allineo il testo sia orizzontalmente text-align: center; che verticalmente line-height:30px;
colore di sfondo nero background-color:black; e un colore di testo bianco color:white;
*/
#menu li a{width:100px;height: 30px;display: block;text-decoration:none;text-align: center;line-height: 30px;background-color: black;color: white;}
/*
Per avere un minimo d’effetto visivo, cambio il colore di sfondo (da nero a rosso) allo stato :hover del link contenuti negli items della lista (li):
*/
#menu li a:hover{background-color: red;}
/*
Adesso, posiziono i sub elementi:
Uso la proprietà css position:absolute; per rimuovere i ‘sub’ ul del flusso della pagina, li sposto di 30px partendo dalla parte superiore in maniera che si ritrovano sotto
il primo elemento con top:30px; (30px essendo l’altezza impostata per prima)
*/
#menu ul ul{position: absolute;top: 30px;
/*
Uso la proprietà css visibility:hidden; (visibilita nascosta) per nasconderli:
*/
visibility: hidden;}
/*
Finalemente, finisco il nostro menu css dropdown, facendo il modo che on :hover, i ‘sub’ ul sono visibile, cambiando semplicemente la sua proprietà visibility a visible (visibile) invece di hidden (nascosto):
*/
#menu ul li:hover ul{visibility:visible;}
ci stò studiando anchio...
cmq il codice html pure non fa altro che creare un menu standard, mentre il js crea l effetto di ritardo e il css la grafica orrizontale e di mostra/nascondi...
questo è un esempio trovato sul web cmq, che ho preso per studiarci sopra.
spero di esserti stato utile!