Ciao, JavaScript lo mettiamo da parte, non ha alcuna voce in capitolo in questo caso particolare.
La causa del problema non è così semplice da trovare, ho dovuto fare un po' di prove andando per esclusione prima di riuscire a stanare la magagna.
Il problema è nel CSS, è relativo ad una proprietà float:right applicata agli elementi ul del menu. Questa proprietà è applicata opportunamente all'elemento ul principale che contiene l'intero menu, ed è stata messa presumibilmente per posizionare l'intera barra menu sulla destra. La stessa regola resta però valida anche per gli elementi ul più interni, quelli dei sottomenu, perché è applicata attraverso un selettore che comprende in modo generale tutti gli elementi ul di qualsiasi livello del menu. In quest'ultimo caso, quella stessa proprietà, oltre ad essere di troppo va a rimuovere quegli elementi dal normale flusso del documento e crea un po di scompiglio tra i contenuti dei sottomenu.
Il fatto che il primo sottomenu si veda correttamente, mentre gli altri no, è un puro caso; sostanzialmente è una questione di contenuti ma il discorso è complesso da spiegare e non è semplice da capire, per cui non mi dilungo.
Il problema si può risolvere in vari modi, ad esempio si può limitare il float al solo elemento ul principale.
Apri il file component.css e trova questa regola (tra le prime righe):
codice:
/* general ul style */
.cbp-hrmenu ul {
margin: 0;
padding: 0;
list-style-type: none;
float: right;
}
Togli float:right; e inseriscilo in una nuova regola con un selettore più specifico che vada ad identificare solo l'elemento ul principale (quello del primo livello di menu)
Dovrai ottenere una cosa del genere:
codice:
/* general ul style */
.cbp-hrmenu ul {
margin: 0;
padding: 0;
list-style-type: none;
}
.cbp-hrmenu > ul {
float: right;
}
Prova e fai sapere