.menu ul li a.hide, .menu ul li a:visited.hide {display:none;}
a.hide 即class为hide的<a>..</a>
a:visited.hide 即class为hide的<a>..</a>在访问(visited)状态下的属性
.menu ul li a:hover ul li a.hide {display:none;}
a:hover 即<a>..</a>在鼠标滑过(hover)状态下的属性
.menu ul li a:hover {color:#fff; background:#36f;}
.menu ul li a:hover ul {display:block; position:absolute; top:21px; left:0; width:105px;}
.menu ul li a:hover ul li a.sub {background:#6a3; color:#fff;}
a.sub 即class为sub的<a>..</a>
.menu ul li a:hover ul li a {display:block; background:#ddd; color:#000;}
.menu ul li a:hover ul li a ul {visibility:hidden;}
.menu ul li a:hover ul li a:hover {background:#6fc; color:#000;}
.menu ul li a:hover ul li a:hover ul {visibility:visible; position:absolute; left:105px; top:0; color:#000;}
.menu ul li a:hover ul li a:hover ul.left {left:-105px;}
ul.left 即class为left的<ul>..</ul> 为什么定义ul?因为他要定位整个ul左-105px,ul含li,定义了ul,li自然跟着过去了