Menu css horizontal avec couleurs différentes

Fermé
Lesenfantschics - 27 janv. 2009 à 15:53
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 - 27 janv. 2009 à 16:30
Bonjour,

J'ai un code pour un menu horizontal css. Les cases changent de couleur lorsque l'on passe la souris dessus. J'aimerais faire la même chose mais avec une couleur différente pour chaque case. Merci par avance pour votre aide.

Le code :

HTML
<div id="navcontainer">
<ul id="navlist">
<li id="active"><a href="#" id="current">Item one</a></li>
<li><a href="#">Item two</a></li>
<li><a href="#">Item three</a></li>
<li><a href="#">Item four</a></li>
<li><a href="#">Item five</a></li>
</ul>
</div>

CSS
#navlist
{
padding: 0 1px 1px;
margin-left: 0;
font: bold 12px Verdana, sans-serif;
}

#navlist li
{
list-style: none;
margin: 0;
border-top: 1px solid gray;
display: inline;
}

#navlist li a
{
padding: 0.25em 0.5em 0.25em 0.75em;
border-left: 1em solid #AAB;
background: #CCD;
text-decoration: none;
}

#navlist li a:link { color: #448; }
#navlist li a:visited { color: #667; }

#navlist li a:hover
{
border-color: #FE3;
color: #FFF;
background: #332;
}
A voir également:

1 réponse

Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
27 janv. 2009 à 16:30
Bonjour,

Je pense que le Javascript serait la solution parce que en CSS je ne vois pas comment faire ... :s

<script type="text/javascript">
function setColor ( component, color1, color2 ) {
//alert ('test : ' + document.getElementById('li1').id);
component.style.color = color1;
component.style.background = color2;
//component.style.border-color = '#BBB';
}
</script>

Et ta liste :
<li><a href="#" onmouseover="setColor(this, '#000', '#AAA');" onmouseout="setColor(this, '#448', '#AAB');">Item two</a></li>

Dans le script j'ai mis la dernière ligne en commentaire car le tiret entre border et color semble faire planter...

Je te laisse essayer de trouver la solution à ça ;)

Mais sinon je pense que l'idée est là ...

EDIT : remplace le border-color par borderColor : ça fonctionnera mieux =)
1