Buonasera, mi sono appena iscritta e spero possiate aiutarmi. È tutto il giorno che cerco di risolvere da me cercando in rete e leggendo dello stesso problema in post di altri in altri forum, ma invano; mi scuso dunque se dovesse esistere già un post con medesima domanda.
Mi occorreva creare un menu CSS orizzontale per i link del menu estremamente semplice e cioè:
- a: link = pagina1 pagina2 pagina3 - scritte grige e sfondo azzurro (senza bordi né altro)
- a: visited = tutto identico ad a: link.
- a: hover = colore delle scritta su cui passo il mouse diventa azzurro e sfondo sotto scritta diventa bianco
- a: active = identico ad a: visited e cioè, se mi trovo ad esempio sulla "pagina1", vorrei che la relativa scritta del menu restasse azzurra con sfondo bianco sotto quella scritta.
Ho trovato una pagina in rete che spiegava molto chiaramente come creare un menu così, dava anche il codice; ad esso ho eliminato il bordo, adattato le misure e cambiato i colori.
Funziona tutto tranne il comando "active" : clicco ad esempio su "pagina1", ma nel menu la scritta "pagina1" non mantiene il cambiamento, e torna come in a: link.
Il codice è questo (la prima voce e cioè ".menu" è un box che avevo creato a parte, ma anche in sua assenza l'effetto "active" non funziona, inoltre il menu deve appunto posizionarsi dentro quel box) :
codice:
.menu {
position: absolute;
left: 461px;
top: 232px;
width: 700px;
height: 24px;
background-color: #97d8f8;
text-align: left;
}
#menu01o {
width: 700;
height: 24;
font: 80% Arial;
font-weight: bold;
}
#menu01o ul{
margin: 0;
padding-left: 0;
list-style: none;
}
#menu01o li{
font-size: 1.1em;
display: inline;
margin: 0;
padding: 0;
}
#menu01o a:link, #menu01o a:visited {
float: left;
background: #97d8f8;
color: #707070;
margin: 0em;
padding: 0.3em 1.5em 0.3em 1.5em;
text-decoration: none;
}
#menu01o a:hover, #menu01o a:focus, #menu01o a:active {
color: #78cdf5;
background: #FFFFFF;
border-top-left-radius: 10px;
border-top-right-radius: 10px;
}
Questo è il modo in cui l'ho richiamato nella pagina html (noterete due div di chiusura: il primo chiude il primo div, il secondo chiude il secondo. Ho provato a mettere una sola chiusura, ma il problema persiste)
codice:
<div class=menu>
<div id="menu01o"> <ul><li><a href="index.html">HOME</a><li>
<li><a href="sede.html">SEDE</a><li>
<li><a href="corsi.html">CORSI</a><li>
<li><a href="iscrizioni.html">ISCRIZIONI</a><li>
<li><a href="faq.html">FAQ</a><li>
<li><a href="links.html">LINKS</a><li>
<li><a href="contatti.html">CONTATTI</a><li></ul>
</div>
</div>
Aggiungo che la pagina CSS possiede anche queste generiche diciture che ho pensato mi serviranno per eventuali link a parti di testo fuori dal box .menu; ho pensato potessero creare conflitto e ho fatto la prova sia di toglierle sia di mettere gli identici colori, ma lo stesso il famoso effetto "active" non funziona. Le diciture sono comunque queste:
codice:
a:link { color: #313131; text-decoration: none }
a:visited { color: #313131; text-decoration: none }
a:hover { color: #797979; text-decoration: none }
a:active { color: #797979; text-decoration: none }