0

我发现了一个可能的错误(至少,我不确定出了什么问题!)。

我有 5 个跨度。除了第一个之外,所有的都有一个 total_breakdown 类。我为该类添加了一些样式,然后为第一个子元素添加了特定样式 - 即更改颜色。

.total_breakdown {
    color: #727272;
    font-size: 14px;
    padding: 0 10px 0 2px;
}
.total_breakdown:first-child {
   color:black;
}

这不起作用 - .total_breakdown 类的第一个跨度与其他跨度保持相同的灰色。现在,这是有趣的部分 - 如果我删除第一个跨度(没有 total_breakdown 类名),它工作正常。对我来说似乎是错误的......

具体例子见这里

只是想补充一下,我在最新的 FF 和 Chrome 上对此进行了测试,结果相同

4

2 回答 2

4

按定义工作,因为.total_breakdown:first-child不是指“属于 class.total_breakdown的第一个子元素”,而是“作为其父元素的第一个子元素并且另外属于 class 的元素.total_breakdown”。CSS 中没有“一流的”选择器。

于 2012-11-04T10:48:52.033 回答
2

因此,虽然这就是它的工作方式,但我可以为您提供一个解决方法:

.total_breakdown {
    color: black;
    font-size: 14px;
    padding: 0 10px 0 2px;
}
span, /* styles the spans preceding the first .total-breakdown */
.total_breakdown ~ .total_breakdown { /* styles all .total-breakdown elements */
   color: #727272;                       that follow a .total-breakdown element */
}

演示

参考:

于 2012-11-04T10:52:20.793 回答