Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    menu verticale ad albero, problema con ie6

    Ciao,
    ho creato un menu verticale nel quale ogni voce può avere più figli, lo genero grazie ad una lista come questa:
    codice:
    <div id=menuContainer>
    <ul>[*]<a href=index.php?action=3&id=61>Hygiene pro food</a>
    	<ul>
    	[*]aaaa
    	[/list][*]<a href=index.php?action=3&id=67>dfs</a>[*]yyyy</a>[/list]
    </div>
    fino qui penso che sia corretta, il mio problema è che con explorer6 non funzia, se passo il mouse su "Hygiene pro food" non compaiono i figli, con firefox tutto ok, non riesco proprio a trovare l'errore che penso sia nel codice css che vi posto qui sotto:

    codice:
    #menuContainer {
      background-color: white;
      text-decoration: none;
      color: #666666;
      font-weight: bold;
      font-size: 10pt;
      font-family: Verdana, Arial, sans-serif;
      width: 10em;
      padding: 0px;
    }
    
    #menuContainer ul { 
      list-style-type: none;
      margin: 0;
      padding: 0;
    }
    
    #menuContainer li {
      background-color: #cacaca;
      border: 1px solid #1d374f;
      width: 10em;
      /* this is to make the submenus position relative to this li */
      position: relative; 
    }
    
    #menuContainer a {
      text-decoration: none;
      color: #666666;
      font-weight: bold;
      font-size: 10pt;
      font-family: Verdana, Arial, sans-serif;
    }
    
    #menuContainer li:hover {
      border: 1px solid #1d374f;   
      background-color: #abe1f4;
    }
    
    #menuContainer a:hover {
      color: #1d374f;
    }
    
    #menuContainer ul ul {
      position: absolute;
      left: 10em;
      top: 0;
      visibility: hidden;
    }
    
    
    #menuContainer li:hover > ul {
      visibility: visible;
    }
    
    #menuContainer li:hover ul, #menuContainer li:hover li:hover ul {
      visibility: visible;
    }
    
    #menuContainer li:hover ul ul {
    	visibility: hidden;
    }
    qualche idea?

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    fino qui penso che sia corretta,
    Pensi male.
    I browser possono anche intepretare in modo corretto, ma possono anche confondersi.
    Conviene sempre chiudere i tag che si sono aperti (obbligatorio nelle nuove versioni dello standard).
    Prova a chiudere i tag :
    codice:
    <div id=menuContainer>
      <ul>[*]<a href=index.php?action=3&id=61>Hygiene pro food</a>
            <ul>[*]<a href=index.php?action=3&id=65>test</a>[*]new[*]<a href=index.php?action=3&id=68>aaaa</a>[/list]
        [*]<a href=index.php?action=3&id=67>dfs</a>[*]yyyy[/list]
    </div>
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    ok, ora ho il codice come sopra da te indicato ma ancora niente...con ie6 non si schioda...idee?

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ho visto altri errori di sintassi:
    mancano le virgolette attorno ai valori degli attributi HTML, ed alcuni valori contengono caratteri significativi per l'HTML.

    Prima di procedere con il CSS dovresti fare una verifica della sintassi HTML e CSS (usa i validatori del W3C).
    Infatti nella logica di quel CSS non ci sono elementi che mi facciano ritenere probabile un non-funzionamento in IE (ma ci sono elementi che mi fanno ritenere probabile un funzionamento un po' diverso in IE).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Ok, ora risulta così:
    codice:
    <div id=menuContainer>
      <ul>		[*]Hygiene pro food
          <ul>	[*]test
    	[*]new	
    	[*]aaaa[/list]
         		[*]dfs[*]yyyy[/list]
    </div>
    Ma ho notato che con ie6 se passo il mouse su un[*] il css
    codice:
    #menuContainer li:hover {
      border: 1px solid #1d374f;   
      background-color: #abe1f4;
    }
    non ha effetto mentre questo si...
    codice:
    #menuContainer a:hover {
      color: #1d374f;
    }
    per la validazione non sembra che ci siano grossi problemi
    http://jigsaw.w3.org/css-validator/v...ning=2&lang=en

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    E` vero, non lo avevo notato.

    In IE6 le pseudoclassi funzionano solo sui link, per cui devi usare il tag <a>, non il tag[*].
    Questo non dovrebbe avere ripercussioni sulla struttura o sul codice, dato che tutti i tuoi oggetti che si aprono sono figli di link (questo lo avevo gia` verificato).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    ma è questo che mi impedisce di fare uscire il sotto-menù figlio con ie6?
    ho modificato il codice così:
    codice:
    #menuContainer li:hover > ul {
      visibility: visible;
    }
    
    #menuContainer a:hover > ul {
      visibility: visible;
    }
    
    #menuContainer li:hover ul, #menuContainer li:hover li:hover ul {
      visibility: visible;
    }
    
    #menuContainer a:hover ul, #menuContainer a:hover a:hover ul {
      visibility: visible;
    }
    
    #menuContainer li:hover ul ul {
    	visibility: hidden;
    }
    
    #menuContainer a:hover ul ul {
    	visibility: hidden;
    }
    ma senza risultato...

  8. #8
    ho provato con ie7 e funziona...non riesco proprio a capire dove sbaglio

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Che complesso!! si puo` comunque semplificare.

    L'operatore di discendenza diretta (il >) in IE6 non funziona. Occorre sostituirlo con l'operatore di discendenza (spazio).

    Prova cosi`:
    codice:
    #menuContainer a:hover ul {
      /*visibility: visible;*/
      display: block;
    }
    #menuContainer a a:hover ul {
      /*visibility: visible;*/
      display: block;
    }
    Nota: mancano dei pezzi, in particolare:
    codice:
    #menuContainer a ul {
      /*visibility: hidden;*/
      display: none;
    }
    #menuContainer a a ul {
      /*visibility: hidden;*/
      display: none;
    }
    Il CSS per a DEVE PRECEDERE quello per a:hover, altrimenti viene sovrascritto!!
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  10. #10
    ho provato come mi hai detto ma ottengo sempre lo stesso risultato, ti posto il css in modo che mi puoi dire se è ok
    codice:
    body {
      margin:  0;
      padding: 15px;
    }
    
    
    
    #menuContainer {
      background-color: white;
      text-decoration: none;
      color: #666666;
      font-weight: bold;
      font-size: 10pt;
      font-family: Verdana, Arial, sans-serif;
      width: 10em;
      padding: 0px;
    }
    
    #menuContainer ul { 
      list-style-type: none;
      margin: 0;
      padding: 0;
    }
    
    #menuContainer li {
      background-color: #cacaca;
      border: 1px solid #1d374f;
      width: 10em;
      /* this is to make the submenus position relative to this li */
      position: relative; 
    }
    
    #menuContainer a {
      text-decoration: none;
      color: #666666;
      font-weight: bold;
      font-size: 10pt;
      font-family: Verdana, Arial, sans-serif;
    }
    
    #menuContainer li:hover {
      border: 1px solid #1d374f;   
      background-color: #abe1f4;
    }
    
    #menuContainer a:hover {
      color: #1d374f;
      border: 1px solid #1d374f;   
      background-color: #abe1f4;
    }
    
    #menuContainer ul ul {
      position: absolute;
      left: 10em;
      top: 0;
      visibility: hidden;
    }
    
    /*...........NEW..........*/
    
    
    #menuContainer a ul {
      display: none;
    }
    
    #menuContainer a a ul {
      display: none;
    }
    
    #menuContainer a:hover ul {
      display: block;
    }
    
    
    #menuContainer a a:hover ul {
      display: block;
    }
    
    /*...........END NEW..........*/
    grazie mille

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.