<style type="text/css">
/*主菜单的属性,没什么特别的*/
#nav{
width: 220px;
display: block;
padding: 0px;
margin: 0px;
}
/*主菜单项目的属性,也没什么特别的,z-index:0也可以不设,写出来只是为了便于理解*/
#nav li{
width: 100px;
margin:0px;
padding:0px;
z-index:0;
display: inline;
float: left;
}
/*这是主菜单的标签,没什么*/
#nav li span{
display: block;
width: 98px;
margin: 0px;
padding:2px;
background-color: #fff;
text-decoration: none;
border:1px solid #000;
color: #000;
text-align: center;
}
/*重要的在这里!鼠标划进主菜单项目时,其z-index变大。但IE不支持li:hover,这里再设一个名为over的li类*/
#nav li:hover, #nav li.over{
z-index:2;
}
/*鼠标划过时显示子菜单的,同样把其z-index加大*/
#nav li:hover ul, #nav li.over ul{
display: block;
z-index:2;
}
/*子菜单原始的样子*/
#nav li ul{
display: none;
width: 150px;
background-color: #eee;
position: absolute;
border: 1px solid #333;
margin: 0px;
padding:2px;
float: left;
}
</style>
<body οnlοad="addHover('nav')">
<ul id="nav">
<li><span href="#">tag1</span>
<ul><li>sub11</li><li>sub12</li><li>sub13</li></ul>
</li>
<li><span href="#">tag2</span>
<ul><li>sub21</li><li>sub22</li><li>sub23</li></ul>
</li>
<li><span href="#">tag3</span>
<ul><li>sub31</li><li>sub32</li><li>sub33</li></ul>
</li>
<li><span href="#">tag4</span>
<ul><li>sub41</li><li>sub42</li><li>sub43</li></ul>
</li>
</ul>
</body>
<script language="javascript">
//这个程序是用来为每个主菜单项目加上事件的,只在IE下运行,Firefox用不着
//由于IE不支持li:hover,故当鼠标划过li时,把其className改为"over",用CSS同样实现li:hover的效果;而当鼠标划出时,再将className清除
//这段程序是改的mysimon.com网站上的一段程序
function addHover(nav){
//document.all仅在ie下才有,所以此段程序仅在IE下才运行
if(document.all && document.getElementByIdx(nav).currentStyle){
var navroot=document.getElementByIdx(nav);
if(navroot!=null){
list=navroot.getElementsByTagName_r("li");
for(var i=0; i<list.length; i++){
//设置每一个主菜单项目,将其onmouseover时的classname改为"over",而mouseout时清除classname
list[i].οnmοuseοver=function(){
this.className+="over";
}
list[i].οnmοuseοut=function(){
this.className=this.className.replace("over","");
}
}
}
}
}
</script>