Visualizzazione dei risultati da 1 a 5 su 5

Discussione: a:active NON funziona

  1. #1
    Utente di HTML.it L'avatar di Bobbix
    Registrato dal
    Nov 2009
    Messaggi
    39

    a:active NON funziona

    Premetto che ho letto di tutto (quindi non mi invitate a rileggere roba riletta centinaia di volte).
    Ovviamente questo NON significa che io ci abbia capito molto...

    Detto questo, vedo che molti utenti hanno questo problema, qualcuno dice di aver risolto ma tanti altri restano al palo (come me).


    ecco il codice incriminato:

    codice:
    div#menu-navigazione a {
    display: block; 	
    height: 30px; 
    line-height: 30px;    
    text-decoration:none;     
    text-align: center; 
    background-color: transparent; 
    } 
    div#menu-navigazione a:link {
    color: #ff0000 
    } 
    div#menu-navigazione a:visited {
    color: #ff0000 
    } 
    div#menu-navigazione a:hover {
    background-color: #1C1C1C; 
    background-image: url("img/back-menu2.gif"); 	
    color: #ffffff 
    } 
    div#menu-navigazione a:active {
    background-color: #1C1C1C; 
    color: #00ff00 
    }
    Come per gli altri, anche per me questo codice funziona solo per link,visited e hover... il povero active viene ignorato.
    L'ordine riportato mi pare sia quello giusto... ho visto che qualcuno ha risolto con degli escamotage... tipo inserendo codice php che assegna al link attivo una specifica classe che sul css viene mostrata nel modo voluto... ossia SENZA usare a:active... segno che anche costoro hanno trovato lo stesso problema e si sono arrangiati.
    Io vorrei poter usare solo il css (se possibile).

    Help.
    (grazie).

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Lo stato :active corrisponde al momento in cui il bottone del mouse viene premuto. Al rilascio torna lo stato :hover e quando esci dal link allo stato :visited .
    Nel tuo caso lo stato :active e` uguale al :hover e quindi e` indistinguibile.

    Se quello che cerchi e` un modo per dire al browser che sei in quella pagina, non c'e` verso di farlo con solo CSS: devi in qualche modo segnalarlo, ed uno dei metodi e` inserire una classe (o id) tramite cui assegnare la formattazione.
    Ecco perche` molti risolvono tramite PHP (o ASP o cpmunque il programma sul server).
    Ma lo stesso effetto lo ottieni inserendo la classe tramite il tuo editor (se hai pagine statiche)
    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 L'avatar di Bobbix
    Registrato dal
    Nov 2009
    Messaggi
    39
    Perfetto.. quindi a:active è praticamente inutile (almeno per quello che voglio fare io).

    Comunque grazie al tuo chiarimento sono andato anch'io sulla strada dello script (php nel mio caso).

    Quindi con questo codice ho catturato il nome della pagina attiva.
    Codice PHP:
    $nomepagina basename($_SERVER['PHP_SELF']); 
    Poi su ogni link del menu (che per la cronaca ho messo in un file separato ed ho richiamato mediante una include/require php) ho inserito un test che dinamicamente mi va a determinare una classe per pagina attiva e per pagina non attiva., così:
    Codice PHP:
    [url="index.php"]" <span>Home</span>[/url] 
    Nel css ho semplicemente definito una regola per la classe .menuattivo, così:
    codice:
    .menuattivo {
    background-color: #1C1C1C; 
    background-image: url("img/back-menu2.gif"); 	
    color: #ffffff 
    }
    Ora funziona tutto meravigliosamente bene.
    Grazie.

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    38
    Originariamente inviato da Mich_
    Se quello che cerchi e` un modo per dire al browser che sei in quella pagina, non c'e` verso di farlo con solo CSS: devi in qualche modo segnalarlo, ed uno dei metodi e` inserire una classe (o id) tramite cui assegnare la formattazione.
    Ecco perche` molti risolvono tramite PHP (o ASP o cpmunque il programma sul server).
    Ma lo stesso effetto lo ottieni inserendo la classe tramite il tuo editor (se hai pagine statiche)
    Ciao, non ho ben capito se l'obiettivo si possa raggiungere solo con css e html. Quando dici che uno dei metodi consiste nell'inserire una classe o un id tramite cui assegnare la formattazione, cosa intendi? Mi potresti spiegare bene come fare?

    Non so quante guide ho letto su html e css e fino ad oggi ero convinto che active indicasse lo stato del link della pagina attuale.

    Purtroppo non conosco minimamente il php, l'asp e gli altri linguaggi di programmazione.

    Ti ringrazio in anticipo per il tuo aiuto.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Originariamente inviato da xedenx
    Ciao, non ho ben capito se l'obiettivo si possa raggiungere solo con css e html.
    Non si puo`: seerve unminimo di programmazione lato server (o modificare in ogni pagina il link che punta alla pagina stessa)

    Quando dici che uno dei metodi consiste nell'inserire una classe o un id tramite cui assegnare la formattazione, cosa intendi? Mi potresti spiegare bene come fare?
    Fa parte delle basi del CSS: non posso qui replicare (male) le cose che sono scritte (bene) nelle guide.

    Non so quante guide ho letto su html e css e fino ad oggi ero convinto che active indicasse lo stato del link della pagina attuale.
    No, active vuol dire che il mouse e` premuto su quel link, o che il link e` selezionato ed e` statopremuto enter (o comunque il tasto per seguire il link). Normalmente subito dopo la pagina sparisce, o il controllo passa a JS, per cui lo stato active vive solo un attimo.

    Purtroppo non conosco minimamente il php, l'asp e gli altri linguaggi di programmazione.
    Ti ringrazio in anticipo per il tuo aiuto.
    Come detto sopra, se le pagine sono poche ti basta cambiare il link alla pagina stessa: se il CSS e` fatto bene, basta solo aggiungere una classe al link (oppure al suo contenitore, se e` un menu)
    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.