2012-04-08 32 views
4

HTMLa: hover nicht funktioniert

<table width="100%"> 
<tr> 
    <td width="90%"></td> 
    <td><a href="#" id="logout"><strong>Logout</strong></a></td> 
</tr> 
</table> 

CSS

@charset "utf-8"; 
/* CSS Document */ 

#logout { 
color:#BBB; 
} 

a:hover { 
color:#FFF; 
} 

Obwohl die Farbe der Abmeldung zu sein scheint, was in der CSS gegeben ist, wird die Farbe nicht ändern, wenn Ich platziere meine Maus über den Link (zu weiß). Was ist der Grund ?

Ich muss sagen, es gibt andere CSS-Dateien, die dazu neigen, die Farbe der Verknüpfung zu ändern, wenn die Maus über sie platziert wird und sie funktionieren gut.

+0

[Layout-Tabellen] (http://www.hotdesign.com/seybold /)? [Links zum Abmelden] (http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.1)? Ach je. – Quentin

+1

@Quentin: Nichts ist falsch mit Logout-Links, IMHO. Und manchmal kann die Verwendung von Tabellen anstelle von "reinem" tabellenlosem CSS für das Layout tatsächlich endlosen Kummer ersparen. Durch meine Erfahrung. – Stefan

Antwort

16

Ein id-Selektor (#logout) ist spezifischer dann ein Typselektor (a) plus eine Pseudo-Klasse (:hover), so dass Ihr erster Regelsatz wird immer win the cascade.

Verwenden Sie stattdessen #logout:hover.

+0

Ich habe deine Antwort nicht verstanden, obwohl das Problem gelöst ist. können Sie bitte klar erklären – saplingPro

+0

Folgen Sie dem Link. – Quentin

1

Vereinfachen:

Sie haben zwei CSS-Regeln, die für diese Anker gelten.

Beide Regeln ändern die Farbe.

Es kann nur eine Regel angewendet werden; nur eine Farbe kann gewählt werden.

Der Browser muss zwischen der Regel basierend auf einer ID (#logout) und einer auf dem Elementtyp basierenden Regel (<a>) wählen.

Die Regel basierend auf ID gewinnt in dieser Situation. Es ist spezifischer, eine ID anzugeben, als alle Elemente eines Typs (Anker) anzugeben.

-1

Sie haben eine Hierarchie-Sequenz folgen:

Link Hover, besuchte

Zum Beispiel:

a:link 
{ 
text-decoration:none; 
color:#008b45; 
} 

a:hover 
{ 
margin-bottom: 3px solid #ff7400; 
    background:white; 
} 

a:visited 
{ 
color:#ee9a00; 
}