显然,nth-child伪类在表格的td或tr标签中起作用得很好,但是对于span标签呢?
HTML:
<div id="refals_wr" style="font: normal 14px Verdana, Geneva, sans-serif; border-top: 2px dashed #CCC;">
<table width="100%" border="0" cellspacing="5" cellpadding="5">
<tr>
<td>
<div>
<span>NAME OF SORTING ALGORITHM:</span><br />
<span id="algName">Bubble Sort</span>
</div>
</td>
<td>
<div>
<span>TOTAL SWAPS:</span><br />
<span id="algTotalSwaps">50</span>
</div>
</td>
<td>
<div>
<span>SWAP COUNT:</span><br />
<span id="algSwapCount">8</span>
</div>
</td>
</tr>
</table>
</div>
CSS:
#refals_wr span:nth-child(odd) { color: green; }
#refals_wr span:nth-child(even) { color: orange; }
没有达到预期的结果,所有内容都是绿色的!此外,最后一个(在SWAP COUNT下面包含数字“8”的那个)不应该受到着色的影响。
有更好的方法吗?
span
,第二个子元素是br
,最后一个span
是每个div
的第三个子元素。这解释了行为。正如 srekoble 建议的那样,nth-of-type
仅考虑一个类型的元素(即此处的spans
)。 - Ilya Streltsyn