Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    181

    Colore dei link del menu

    Salve a tutti,
    premetto che non sono espertissimo si CSS.
    Sto scrivendo delle pagine web il cui layout è gestito in CSS. Nella fattispecie sto creando un menù che a seconda di dove si posiziona il mouse colora il bottone in questione.
    All'inizio funziona nel momento in cui clicco su un dato bottone quel link mi diventa di colore diverso e fin qui tutto ok. Se dopo clicco su un altro link il bottone cliccato precedentemente non torna al colore originale ma resta colorato come se fosse cliccato.
    Il codice html e css è il seguente:
    CODICE HTML
    <ul class="menu1">
    [*]Link1
    [*]Link2[/list]

    CODICE CSS
    ul.menu1 {
    width:180px;
    list-style:none; /* elimino i punti elenco */
    margin:0; padding:0; /* elimino i rientri delle liste */
    }

    ul.menu1 li a {
    display:block; /* il link occupa tutto lo spazio orizzontale */
    text-decoration:none; /* elimino la sottolineatura, che si tratta di un link si
    capisce dalla struttura */
    padding:0 1em; /* lascia spazio far il bordo del menu e il testo del link */
    height:2em;line-height:2em; /* altezza del link: height e line-height devono
    avere il medesimo valore */
    border-width: 1px,1px,1px,1px;
    border-style: solid;
    border-color: #CCCCCC,#CCCCCC,#CCCCCC,#CCCCCC;
    }

    ul.menu1 li {
    display:inline /*elimina lo spazio fra gli elementi della lista introdotto da Opera*/
    }

    ul.menu1 li a:link, {
    /* background:#33CC00;*/
    background-color:#FFFFFF;
    border-color: #CCCCCC;
    color: #009;
    } /* colori per il link da visitare*/

    ul.menu1 li a:visited {
    /* background:#33CC00;*/
    background:#FFFFFF;
    border-color: #CCCCCC;
    color: #009;
    } /* colori per il link visitato*/

    ul.menu1 li a:hover, {
    background: #009900;
    color: #FFFFFF;
    } /* colori per l'effetto roll-over quando il mouse si
    posiziona sopra il link desiderato */

    ul.menu1 li a:active {
    background: #FFFFFF;
    color: #FFFFFF;
    } /* colori per l'effetto roll-over */

    Come posso risolvere il problema?
    Grazie in anticipo

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    edito il titolo
    la prossima volta applica un titolo esplicativo (vedi regolamento) alla discussione, grazie.
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    181
    Grazie per il suggerimento e chiedo scusa per il titolo che cambio subito

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    181
    Scoperto errore,
    in pratica l'ultilmo ul quello riferito ad active nel css non può essere
    ul.menu1 li a:active {
    background: #FFFFFF;
    color: #FFFFFF;
    } /* colori per l'effetto roll-over */

    ma

    ul.menu1 li a:active {
    background: #009900;
    color: #FFFFFF;
    } /* colori per l'effetto roll-over */

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    181
    Credevo di aver risolto il problema in realtà ho solo risolto un altro problema nel mio codice per la visualizzazione dei link, quindi il problema resta!
    Grazie in anticipo a chi ha qualche suggerimento su come disattivare link visitati.

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non sono riuscito a capire cosa vuoi.

    I browser hanno una memoria delle pagine visitate che serve loro per sapere come trattare i link. Se trovano il link nella lista delle pagine visitate usano la formattazione :visited, altrimenti usano quella :link (o senza pseudoclasse). Nota che le due formattazioni possono anche essere uguali, per cui la differenza non viene percepita dall'utente.

    La lista delle pagine visitate e` accessibile all'utente, e di solito e` possibile cancellarla e anche definire il tempo in cui resta attiva (di solito e` un mese, ma ogni browser puo` impostarla come vuole).

    Non so se sono riuscito a spiegarmi e se tali info ti servono. In caso contrario spiegati meglio.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    181
    Si provo a spiegarmi meglio.
    In pratica ho un menù il cui colore di sfondo è bianco, nel momento in cui ci passo con il mouse sopra il bottone in questione diventa di un altro colore(verde). Se clicco sul bottone che desidero questi diventa verde. Se adesso provo a cliccare su un altro bottone quest'ultimo diventa verde ma il precedente non torna bianco ma resta verde.
    Per risolvere il problema basta togliere display: block da ul.menu1 li a:link, quindi avremo:

    ul.menu1 li a:link, {
    /* background:#33CC00;*/
    background:#FFFFFF;
    border-color: #CCCCCC;
    color: #000000;
    } /* colori per il link da visitare*/

    Spero di essere stato più chiaro e grazie a tutti.
    Mich_ le info che mi hai dato sono state comunque utili e interessanti grazie

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    181
    Confusione !!!
    Scusate nel precedente messaggio ho postato una parte di codice css errata, nel senso che display block andava tolto dalla classe dove ul era inserito.
    Chiedo scusa e grazie

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Dipende da come hai impostato le varie pseudoclassi.

    Comunque prova con un codice di questo tipo (ottenuto partendo dal codice postato all'inizio):
    codice:
    ul.menu1 li a:link, ul.menu1 li a:visited {
      background-color:#FFF;
      border-color: #CCC;
      color: #009;
    } /* colori per il link da visitare e visitato*/
    
    ul.menu1 li a:hover, ul.menu1 li a:active {
      background: #090;
      color: #FFF;
    } /* colori per quando il mouse e` sul link e quando e` premuto */
    Nota che nel tuo codce originale ci sono delle virgole in piu`, subito prima delle graffe aperte: in qualche browser potrebbero dare problemi
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    181
    Grazie Mich_,
    correggo subito il codice!!!

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.