Css3选择器无法正常工作

时间:2012-07-16 16:19:14

标签: html css css3 css-selectors

我正在尝试做一些我认为简单的任务,但它不是那么简单...... 手头的问题可以在这2个链接上看到

http://kurdaktuellt.se/

http://kurdaktuellt.se/category/aktuellt/

使用的选择器相当简单

body:not(.single) #content > .post:nth-child(odd){
}
body:not(.single) #content > .post:nth-child(even){
}

问题在于它在首页(第一个链接)上以一种方式工作,而另一种方式在类别页面(第二个链接)上工作,因为它需要计算头部元素,如果它正确地跟随我的选择器它不应该... 这里有什么东西我不见了吗?

所有帮助表示赞赏... aloot! thx提前

1 个答案:

答案 0 :(得分:2)

在您的类别页面中,您有h1作为#content的第一个孩子,这会干扰您的孩子的排序,导致您的第一个div.post不再是第一个孩子,但真的是第二个孩子(见spec)。

您可以使用:nth-of-type()代替,因此只考虑您的div(具有班级.post):

body:not(.single) #content > div.post:nth-of-type(odd)
body:not(.single) #content > div.post:nth-of-type(even)

或者您可以选择修改HTML,方法是将h1移到其他地方,或者在div.post元素周围添加另一个容器,这样您的:nth-child()订购就不会搞砸了。