Ahora si está mejor.
El
extraño error realmente no se debía al mal código. Pero era mejor ordenarlo primero.
El orden de los elementos en el documento especifica a priori su orden en el eje Z. No es tan así, pero no sé decirlo de otra forma. Es buena práctica, y casi obligatoria, que al hacer
:hover al menú se le asigne un valor
z-index para que esté encima de los demás elementos.
Código CSS:
Ver originalli:hover ul {
/* los demás estilos */
z-index: 99;
}
Así el submenú estará por encima de los demás elementos.
Respecto a lo de ser duro… No era mi intención ser duro, sino simplemente directo. Y cuando uno ve un código que hasta los comentarios están mal puestos, pues la verdad es que duele a los ojos.
De todas formas prácticamente arreglaste todo el código sin decirte nada más.