• User

    Problema con classi multiple

    Buongiorno a tutti,
    sto operando sui css di un sito wordpress. Quello che devo riuscire ad ottenere è di applicare il valore display: none ad uno specifico div di una specifica pagina del sito.
    Questo è possibile (o almeno dovrebbe esserlo) tramite una funzione del sito che permette di avere una classe specifica per ogni singola pagina.

    Nel mio caso quindi creo la classe specifica **.noinfo **
    Per cominciare ho aperto la pagina con l'ispettore di elementi e ho verificato che la classe effettivamente compaia tra le tante dichiarate nell'header. E fino a qui ci siamo.

    Il div al quale devo dare valore display: none utilizza la classe **.informazioni **

    Vado allora ad inserire questa regola css personalizzata :

    div.informazioni.noinfo {display: none !important;
    }

    Pensavo che così facendo potevo controllare la classe .informazioni perchè - solo in questa pagina - questa si concatena con la classe .noinfo.
    Invece...non succede assolutamente nulla ! Sto sbagliando sintassi ?
    Grazie a chi sarà in grado di aiutarmi !


  • Moderatore

    Se, come mi sembra di aver capito, queste classi sono sullo stesso div, dovrebbe bastare togliere "div" e lasciare solo le due classi concatenate.

    Fai una prova e fammi sapere.


  • User

    Ciao Shad, ho appena fatto una prova ma non succede nulla. Quando do alla pagina la classe specifica .noinfo, il sistema non la dichiara nello specifico tag di mio interesse, ma la inserisce in alto alla pagina, qui :
    <html lang="it-IT" class="lang-it_IT noinfo ie ie8">

    Se poi creo la regola personalizzata, questa mi viene inserita in uno style poco sotto ricompreso tra <head> e </head>. Purtroppo non posso impostare tutto nella regola personalizzata, perchè questa viene applicata a tutte le pagine del sito.

    Quello che il sito dovrebbe permettere è 'agganciare' il .noinfo che sta in alto e capire che quando c'è il .noinfo in presenza di .informazioni, si deve applicare la regola personalizzata.

    In altre parole la regola personalizzata comparirà in tutte le pagine ma solo questa avrà il .noinfo che dovrebbe comportare la sparizione dell'elemento div.

    Purtroppo però non succede nulla di tutto questo, mi domando cosa sbaglio.... !
    grazie per l'aiuto
    Francesco


  • User

    Ok ho risolto con
    html.noinfo .informazioni { display: none; }

    però mi dicono che è una soluzione da evitare, anche se non ne comprendo il motivo....