:第一个孩子和:最后一个孩子同时

时间:2013-03-14 17:44:13

标签: html css pseudo-class css-selectors

这可能很容易,因为我觉得我在这里错过了一个基本点。

情况:

.singleOrder:first-child {
    border-radius: 5px 0 0 0;
}

.singleOrder:last-child {
    border-radius: 0 5px 0 0;
}

在只有一个孩子之前工作得非常好。在这种情况下,第二个声明将覆盖第一个声明,并且无法实现所需的效果。

解决这个问题的最简短方法是什么?

2 个答案:

答案 0 :(得分:8)

拆分它:

.singleOrder:first-child {
    border-top-left-radius: 5px;
}

.singleOrder:last-child {
    border-bottom-left-radius: 5px;
}

或者写一条额外的规则:

.singleOrder:first-child:last-child {
    border-radius: 5px 5px 0 0;
}

答案 1 :(得分:2)

使用:only-child

.singleOrder:only-child {
    border-radius: 5px 5px 0 0;
}

更新:Yogu是对的。我忘了提。这应该在你的陈述之后。