2010-11-21 3 views
0

Ich habe eine einfache HTML-Liste steht, die Elemente wie folgt enthält:Warum ändert sich die Farbe der Verbindung nicht, wenn ich über dem übergeordneten li schwebe?

li:hover { 
    background-color: #d21600; 
    color: #fff; 
} 

Die Spanne Text-Farbe:

<li> 
    <a href="http://somecool url.com/">some link</a> 
    <span class="sc-track-duration">24.27</span> 
</li> 

Auf dem Hover-Zustand ich die Text-Farbe in Weiß ändern ändert sich aber die Farbe der Verbindung nicht.

Wie kann ich das ohne JS lösen?

+0

Den HTML-Code für den Anker-Tag ist falsch, fehlt ein‚>‘Text. – systemovich

Antwort

2

Sie müssen auch den Anker, um Stil, zum Beispiel:

li:hover, li:hover a { 
    background-color: #d21600; 
    color: #fff; 
} 

Ihr Anker hat einen spezifischeren Stil, der woanders definiert ist und das gewinnt, sogar über Ihre li:hover Regel, also müssen Sie einen spezifischeren li:hover a hinzufügen, um es auch zu stylen.

+0

Darüber hinaus würde ich empfehlen zu überprüfen, dass Sie eine DOCTYPE definiert. – WSkid

+0

Es färbt nur die Verbindung in diesem Fall, wenn ich über den Link schweben. Es kann passieren, dass ich den li schweben , aber nicht die Verbindung – Hedge

2

Sie wissen, dass der genaue Code, den Sie gepostet haben, falsch ist. Fehlende „> gibt.

<li> 
    <a href="http://somecool url.com/">link text</a> 
    <span class="sc-track-duration">24.27</span> 
</li> 
+0

Ja, ich habe es von Hand geschrieben. Der Code, den ich verwende, ist korrekt. – Hedge

Verwandte Themen