2010-10-15 5 views
1

Je rencontre un problème de CSS qui n'apparaît que dans Safari et Chrome. J'ai un ensemble de styles pour les liens dans le contenu d'un site sur lequel je travaille. Les liens visités doivent apparaître d'une couleur différente et avec une bordure inférieure pointillée. Dans Safari et Chrome, les liens visités ne possèdent pas la bordure inférieure, bien que tous les autres styles soient appliqués. Est-ce que quelqu'un sait d'un bogue dans le moteur de Webkit qui cause ceci ou ai-je fait une erreur stupide? Code ci-dessous:Problème d'affichage du lien CSS dans Chrome et Safari

#content a:link { 
    color: #b32951; 
    text-decoration: none; 
} 
#content a:visited { 
    color: #353535; 
    border-bottom: 1px dotted; 
    text-decoration: none; 
} 
#content a:hover, #content a:active { 
    color: #b32951; 
    background: #E6B5AF; 
} 

Répondre

2

Ce n'est pas un bug, il est une fonctionnalité. Il était possible pour un site de renifler l'historique du navigateur à travers: les styles visités. Vous serez seulement en mesure de style: visité d'une manière qui n'affecte pas les métriques du lien, ce qui ajouterait une bordure. La même fonctionnalité arrive à Fx4. (Source, MDC)

+0

Un grand merci pour cela. Je viens de mettre tous les liens dans le contenu pour avoir des bordures en pointillés pour résoudre ce problème. C'est un changement intéressant et qui ne semble pas encore très bien connu. – Jeremy

0

Essayez de donner la frontière fond une couleur:

border-bottom: 1px dotted #000; 
+0

J'ai essayé et cela n'a pas fait de différence: la bordure s'affiche dans tous les navigateurs sauf pour Safari et Chrome. AFAIK la spécification CSS n'impose pas qu'une couleur soit déclarée pour une frontière. Si aucune n'est déclarée, la bordure hérite de la couleur du texte. – Jeremy

Questions connexes