2010-08-24 4 views
0

J'ai un balisage HTML dans ma page maître ASP.NET représentant un menu de navigation de base. Trois mots qui pointent vers trois pages. Mon CSS et HTML sont inclus ci-dessous pour votre référence.Comment puis-je faire des liens HTML montrent le style hover?

Lorsque je charge la page, les liens apparaissent avec la couleur correcte (rouge). Si je survole un lien, le lien change pour la couleur correcte (bleu). Jusqu'à présent, nous sommes bons. En cliquant sur un lien, la couleur du lien devient la couleur correcte (jaune). Les deux liens restants sont toujours rouges/bleus comme prévu. En cliquant sur un deuxième lien, ce lien devient également jaune. Maintenant, j'ai deux liens jaunes. Ni l'un ni l'autre des liens jaunes n'affiche la couleur du survol (bleu) comme je le souhaiterais. En cliquant sur le troisième lien, il est également jaune et aucun des liens n'affiche le style.

Bien qu'un lien ait été cliqué, j'aimerais que la couleur soit enregistrée et que la couleur du survol soit affichée. Comment puis-je accomplir cela? C'est un projet d'application web ASP.NET mais je n'utilise que du HTML à ce stade.

/* --- css --- */ 

a:link 
{ 
    color: red; 
    text-decoration: none; 
} 

a:hover 
{ 
    color: blue; 
    text-decoration: none; 
} 

a:active 
{ 
    color: green; 
    text-decoration: none; 
} 

a:visited 
{ 
    color: yellow; 
    text-decoration: none; 
} 



/* --- HTML --- */ 

<p class="MenuItems"> 
    <a href="1.aspx">Cars. </a> 
    <a href="2.aspx">Trucks. </a> 
    <a href="3.aspx">Vans. </a> 
</p> 

Répondre

0

Votre

a:hover 
déclaration

doit venir après votre

a:visited 
déclaration

dans la feuille de style parce que l'État visité prend actuellement la priorité. Placez toujours hover à la fin du bloc de déclaration d'un style pour empêcher cela. A: link -> a: visité -> a: actif -> a: hover est l'ordre optimal.

1

Comme décrit here, la déclaration :hover doit venir après les déclarations :visited et :active. En principe, dans la cascade de vos styles actuels, vous ne verrez jamais la couleur :hover.

0

Il suffit d'utiliser ceci:

a:hover 
{ 
    color: blue ! important; 
    text-decoration: none ! important; 
} 

ou comme décrit - utilisez cette commande:

a:link 
{ 
    color: red; 
    text-decoration: none; 
} 

a:active 
{ 
    color: green; 
    text-decoration: none; 
} 

a:visited 
{ 
    color: yellow; 
    text-decoration: none; 
} 

a:hover 
{ 
    color: blue; 
    text-decoration: none; 
} 
+0

Prenez garde des déclarations portant Importants, en particulier dans le contexte des éléments qui fournissent une rétroaction visuelle à l'utilisateur - dans certains cas, ils peuvent entrer en conflit avec les propres paramètres d'accessibilité de l'utilisateur dans le navigateur, ce qui réduit l'expérience. Le! Important peut également remplacer les autres déclarations ailleurs que vous ne vous attendiez pas à attraper dans le filet. Il est peu probable que cela pose un problème dans ce scénario particulier, mais traiter le mot-clé! Important comme une méthode de dernier recours désespérée est une bonne habitude à avoir. – hollsk

Questions connexes