IE FF 支持li:hover,但是ie6不支持,a:hover ul 这种写法是要搭配顶部针对IE6声明用的

#nav li:hover ul{...} IE6仅支持A标签的hover,所以li:hover对IE6是无效的。 而li  a:hover ul{}是一句不合法的CSS规则,你这样写就表示控制A标签的子孙元素UL。按照XHTML标准,A标签中是不能出现UL的。
解决办法是:

#nav li:hover ul,#nav li.hover ul{...}

然后写JS,当鼠标移到LI的时候增加一个class类hover