你好
看了下你的代码发现你是用a用的导航,这样当然会出现如果不在a上面就会隐藏二级菜单了,而且你的是a里面套a,这样很不好的。
出于HTML标签语义化考虑,一般都是用ul,li来写导航的,我给你个提示,你试着做做。
.menue li a{font-size:14px;letter-spacing:2px;width:138px;display:block;line-height:30px;text-decoration:none;color:#fff;font-weight:bold;float:left; }
.menue li a:hover{font-weight:bold; color:#c92a25;letter-spacing:2px; width:138px;height:54px;line-height:30px;text-align:center;}
.menue li {float:left; width:138px;text-align:center;z-index:1000;}
.menue li ul li{list-style:none; display:none; z-index:1000;}
.menue li:hover ul li{ display:block; width:138px;background-color:#329900; height:30px; line-height:30px;z-index:1000;}
.menue li:hover ul li a:hover{ display:block; background:#329900; width:100%}
.asd{witdh:137px;}
.asd li a{line-height:30px; witdh:138px;font-size:14px;clear:both;height:30px;}
.asd li a:hover{line-height:30px;font-size:14px; height:30px;}
document.getElementById("subnav").style.visibility="hidden"; 出在visibility="hidden"这个问题上
visibility="hidden" 和display none 是不一样的 他们都可以控制元素的显示与隐藏
visibility="hidden" 隐藏后依然占位
display none 隐藏后不占位
按照你的想法 不应该用visibility="hidden" 而是应该用display none
document.getElementById("subnav").style.display="none";