2012-12-04 3 views
8

Ich habe div Boxen auf meiner Website. Jede zweite Box sollte einen Rand in einer anderen Farbe haben. In einem Fall erscheinen die div s als Liste. Ich kann den HTML-Code nicht ändern, da er automatisch generiert wird. Auf den anderen Teilen meiner Website habe ich das Styling wie diese und es funktioniert:CSS-Styling für jedes zweite div in einer Liste

.displayBlogpost:nth-child(2n+1) { 
    border: #B4C556 1px solid; 
} 

Aber mit den ol mehr so ​​nicht funktioniert. Ich habe keine Ahnung, wie man Zugang zu jeder Sekunde bekommt .displayBlogpost-div. Das ist mein Code: http://jsfiddle.net/8SbbL/

+0

ist die Liste dynamisch generiert (und etwas g können Sie steuern) oder erstellen Sie es in statischen HTML –

Antwort

12

zur Verwendung des n-ten-Kind machen Sie es auf den Listeneintrag anwenden müssen,

http://jsfiddle.net/8SbbL/6/

können Sie auch nth-child(even) und nth-child(odd) verwenden, die liest schöner als Ihre 2n-1

+0

Sieht gut aus !!! –

+0

danke! es funktioniert perfekt! – Katy

+0

Dieses 'n-Kind (gerade) und n-te Kind (ungerade)' ist einfach und funktioniert gut. Es macht die Codierung noch sauberer. Vielen Dank! – Jornes

1

Das Element befindet sich in einem li, also ist es immer das erste und letzte Element. Verwenden Sie den n-ten Kindertrick auf dem tatsächlichen li.

#searchresult li:nth-child(2n+1) .displayBlogpost { 
    border: #B4C556 1px solid; 
} 

Arbeitsgabel: http://jsfiddle.net/FJuzm/

+0

danke auch! Entschuldigung, ich kann nur eine Antwort als richtig annehmen – Katy

Verwandte Themen