Visualizzazione dei risultati da 1 a 8 su 8

Hybrid View

  1. #1

    sottomenu carica diversamente con stessa class

    Salve, vorrei sistemare il sottomenu del seguente sito www.borgovaccareccia.it, come si può vedere il sottomenu di "borgo" carica correttamente mentre quello di "vaccareccia" e "scelta lingua" no, fanno riferimento alla stessa class e mi è stato detto che potrebbe essere un problema di javascript. Conosco decentemente html, poco css, per niente js. Grazie per l'eventuale aiuto.

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,686
    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
    Ultima modifica di KillerWorm; 29-02-2020 a 20:54
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    Grazie mille KillerWorm, facendo delle prove sul codice che mi hai segnalato ho trovato l'impostazione giusta per me riguardante i sottomenu, che è la seguente:

    codice:
    /* general ul style */
    .cbp-hrmenu ul {
        margin: 0;
        padding: 0;
        list-style-type: none;
    }
    In pratica ho tolto completamente la proprietà "float". Il problema che è sorto ora è che la distanza tra gli il logo e il menù ora si è ridotta ed esteticamente non mi fa impazzire, continuo a fare delle prove per vedere se riesco a ripristinare anche solo in parte la distanza precedente, ovviamente ogni aiuto è apprezzato.

    Grazie mille per il momento.

  4. #4
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,686
    Il problema che è sorto ora è che la distanza tra gli il logo e il menù ora si è ridotta ed esteticamente non mi fa impazzire
    Quel float serviva per allineare il menu a destra, se lo togli del tutto è normale che la distanza tra logo e menu non ci sarà più. Per tale motivo ti ho suggerito di aggiungere una nuova regola solo per il menu principale. Vedi meglio il codice che ti ho indicato, c'è già la soluzione.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  5. #5
    Mi scuso ma non sono stato chiaro nella spiegazione precedente, tra le prove che ho fatto, ho anche utilizzato il codice così come me lo avevi proposto, ma oltre ad eliminare lo spazio tra logo e menu sposta completamente a sinistra il testo del sottomenu, mentre se elimino il float rimane solo lo spazio tra logo e menu da sistemare, o meglio come vorrei che fosse.
    Ultima modifica di abmol; 29-02-2020 a 19:33

  6. #6
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,686
    Scusami tu, nel precedente codice avevo dimenticato una parentesi graffa. Ora ho corretto, provalo nuovamente e vedi se funziona.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  7. #7
    Perfetto, grazie mille, funziona esattamente come vorrei, non ho proprio visto che mancava quella graffa.
    Ciao e grazie ancora.

  8. #8
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,686
    Perfetto, grazie mille, funziona esattamente come vorrei
    Bene

    non ho proprio visto che mancava quella graffa.
    Era un errore mio

    Ciao e grazie ancora.
    Ciao, buon proseguimento
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.