如果有内部div,则不能正确设置最后一个子选择器

时间:2013-11-06 23:20:17

标签: css css-selectors

我在http://jsfiddle.net/ahvru/

创建了问题的简化版本

我希望item类中的最后class parent颜色不同。相反,它会设置每个内部item的最后div个类,而不是实际的parent class

预期的结果应该是item4是唯一的蓝色div而不管我有多少内在div

由于

4 个答案:

答案 0 :(得分:1)

这是正确的行为,read docs

你必须做这样的事情

.parent .inner2 .item:last-child{
    background-color:blue;
}

但这可能是你想要的。

除了通过JavaScript添加一些类或更改你的html结构,我没有任何其他方式使用:last-child proper

答案 1 :(得分:0)

你在找这个吗?

.parent div:last-child .item:last-child{
    background-color:blue;
}

答案 2 :(得分:0)

如果您使用的是css3,可以尝试在css选择器中使用“last-of-type”。

http://www.w3schools.com/cssref/sel_last-of-type.asp

答案 3 :(得分:0)

如果没有真正计算.item个孩子的数量而不是.parent,我恐怕你会失去运气。但是,对于这种情况,具体而言,这恰好是有效的:

.parent .item:not(:first-child) {
    background-color:red;
}
.item:last-of-type {
    height:30px;
    background-color:blue;
}