2013-08-14 9 views
5

Ich versuche, alle Elemente vor dem Schweben (von der linken Seite) zu stylen.CSS: style alle Elemente vor dem Schweben

Hier ist mein Code: jsFiddle

[CSS]:

a, 
a:link, 
a:hover, 
a:visited { 
    /* ... */ 
    color: #222; 
} 

a:hover, 
a:hover ~ a { 
    color: #f00; 
} 

[HTML]:

<a href="#">text1|</a> 
<a href="#">text2|</a> 
<a href="#">text3|</a> 

Alles, was ich getan habe, ist von der rechten Seite schwebt (nach schwebten Element), aber ich will es von links.

+0

interessantes Problem – AdityaSaxena

Antwort

5

Eine kleine Änderung mit HTML und CSS können Sie Ihre Anforderung erfüllen.

HTML:

<div><a href="#">this/</a><a href="#">line/</a><a href="#">is/</a><a href="#">hovering/</a><a href="#">from/</a><a href="#">left/</a><div> 

CSS:

a, 
a:link, 
a:hover, 
a:visited, 
div { 
    text-decoration: none; 
    font-size: 14pt; 
    background: #def; 
    color: #222; 
} 
div:hover a{ 
    color: #f00; 
} 
a:hover ~ a { 
    color: #222; 
} 

jsFiddle

+0

Vielen Dank! Das ist was ich will! – Greg

1

Möchten Sie alle Elemente anders stylen?

können Sie Elemente nach N-Kind-Selektor auswählen.

Beispiel:

a:nth-child(1){} 
a:first-child+a{} or a:nth-child(1) + a /* Second Element */ 
a:last-child{} /*select last child, Works in ie8+, webkit, moz, o */ 
+0

Nein, ich möchte nicht, sie anders stylen. Es ist nur normales Hover-Verhalten für alle Elemente vor dem Schweben. Im binden, um benutzerdefinierte verknüpfte URL zu erstellen f.e. http://jsfiddle.net/LgKkU/487/ – Greg