Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    16

    Problema css classi multiple con ie

    Ciao, chi mi può aiutare? Come sempre su firefox va e ie no.

    <html>
    <head>
    </head>
    <body>
    <style type="text/css">
    .classe1.classe5 .classe3{
    font-size: 20pt;
    color: red;
    }
    .classe2.classe4 .classe3{
    font-size: 20pt;
    color: blue;
    }
    .classe2.classe5 .classe3{
    font-size: 20pt;
    color: black;
    }
    .classe1.classe4 .classe3{
    font-size: 20pt;
    color: pink;
    }
    </style>

    <div class="classe1 classe4"> classe1 classe4
    <div class="classe3"> Classe3</div>
    </div>
    <div class="classe1 classe5"> classe1 classe5
    <div class="classe3"> Classe3</div>
    </div>
    <div class="classe2 classe4"> classe2 classe4
    <div class="classe3"> Classe3</div>
    </div>
    <div class="classe2 classe5">classe2 classe5
    <div class="classe3"> Classe3</div>
    </div>
    </body>
    </html>

    Il mio problema è differenziare il div con class='classe3' a seconda di quale class padre appertiene.

    Grazie per l'aiuto.

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Quando si posta codice, e` sempre opportuno usare i tag VB, che si possono inserrie tramite i bottoni sopra l'area del testo.
    Nel tuo caso avresti dovuto usare il bottone #.

    Il fatto e` che non si capisce dove sono inseriti gli spazi nel CSS.
    Probabilmente dovresti scrivere cosi`:
    codice:
    .classe1 .classe5 .classe3{...}
    .classe2 .classe5 .classe3{...}
    ecc.
    mentre nel tuo codice non vedo lo spazio prima del secondo punto in ogni riga.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    16
    codice:
    <html>
    <head>
    </head>
    <body>
    <style type="text/css">
    .classe1.classe5 .classe3{
    font-size: 20pt;
    color: red;
    }
    .classe2.classe4 .classe3{
    font-size: 20pt;
    color: blue;
    }
    .classe2.classe5 .classe3{
    font-size: 20pt;
    color: black;
    }
    .classe1.classe4 .classe3{
    font-size: 20pt;
    color: pink;
    }
    </style>
    
    <div class="classe1 classe4"> classe1 classe4 
          <div class="classe3"> Classe3</div>
    </div>
    <div class="classe1 classe5"> classe1 classe5 
          <div class="classe3"> Classe3</div>
    </div>
    <div class="classe2 classe4"> classe2 classe4 
          <div class="classe3"> Classe3</div>
    </div>
    <div class="classe2 classe5">classe2 classe5
          <div class="classe3"> Classe3</div>
    </div>
    </body>
    </html>
    Scusa ma non mi ero accorto.

    Il css è corretto.
    ".classe1.classe5" sta identificando quel div che ha entrambi le classi, e questo funziona, il problema è quando voglio dare uno style alla classe3 differenziandola a seconda del padre.

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ma perche` vuoi dare lo stile proprio a quell'elemento che ha ambedue le classi?

    Le classi multiple le ho viste usare ancora, ma non in quel modo.

    Esempio molto grezzo:
    codice:
    <div class="sfondorosso scritteblu">...</div>
    ...
    <div class="sfondorosso scritteverdi">...</div>
    
    CSS:
    .sfondorosso {
      background: red;
    }
    .scritteblu {
      color: blue;
    }
    ...
    In pratica le classi multiple servono per definire attributi diversi (che possono essere in comune con altri elementi).

    Nel tuo caso non puoi semplificare il CSS in questa direzione?
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    16
    <div class="sfondorosso scritteblu">...</div>
    ...
    <div class="sfondorosso scritteverdi">...</div>
    Nel tuo caso cambia solo la seconda classe, nel mio cambia anche la prima.
    Sono 4 le combinazioni.

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    16
    codice:
     <div class="sfondorosso scritteblu">...</div>
    ...
    <div class="sfondorosso scritteverdi">...</div>
    Nel tuo caso cambia solo la seconda classe, nel mio cambia anche la prima.
    Sono 4 le combinazioni.

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    E` vero, ma il mio era un esempio grezzo.
    Quello che volevo dire e` se si puo` eliminare la doppia classe nel selettore CSS.

    Allora riformulo la domanda:
    E proprio necessario definire il selettore
    codice:
    .classe1.classe5 .classe3{...}
    Non si potrebbe usare una formulazione diversa, ad esempio qualcosa come
    codice:
    .classe1 .classe3. , classe5 .classe3{
    Magari definendo le classi in modo diverso (sto pensando a dare un significato anche semantico alla singola classe)

    Nota il mio e` solo un esempio, e prescinde da quello che vuoi fare.
    E` solo una proposta di ridefinire le classi in modo da evitare la doppia classe (che evidentemente da` fastidio a qualche brwoser). In pratica dato che quella sintassi non piace, trovare una sintassi diversa (che tra l'altro sia anche corretta dal punto di vista semantico)
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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 © 2025 vBulletin Solutions, Inc. All rights reserved.