Измените ul#menu li :hover ul.sub-menu
на ul#menu li:hover ul.sub-menu
. Это единственная проблема, которую я вижу при условии, что ваш HTML может быть таким, как показано ниже.
<ul id="menu">
<li>
<a href="#">menu1</a>
</li>
<li>
<a href="#">menu2</a>
<ul class="sub-menu">
<li>
<a href="#">submenu1</a>
<a href="#">submenu2</a>
<a href="#">submenu3</a>
<a href="#">submenu4</a>
</li>
</ul>
</li>
</ul>