Ankhena W: да, действительно. но тут тогда другая проблема. Если сделать вместо a li, то подменю вообще не выпадает, тк ссылка сделана блоком и "перекрывает" родителя (как я поняла). либо тут другой глюк, которого я не вижу.
1. .sub-menu нужно делать через position:absolute; и тогда это не будет работать.
2. многоуровневое меню всегда нужно делать через js. Тем более sub-menu больше, чем пункт основного меню (нужно писать условие, чтобы ничего не вылазило за пределы контейнера).