我正在寻找为理论上无限数量的嵌套级别实现交替行颜色的最佳方法。下面是我正在测试的标记示例和 jsFiddle http://jsfiddle.net/DFn82/
使用 nth-child 很难让交替颜色正常工作,您需要有效地对每个级别的组合进行硬编码,并且 css 规则呈指数增长。
我可以使用 javascript 实现我想要的结果,但是列表是完全动态的,并且会不断添加和删除内容。使用 javascript 在性能方面似乎不是一种选择,并且可能会产生一些相当大的影响。
这只需要在IE9+中工作
<ul>
<li>
<span>Item</span>
</li>
<li>
<span>Item</span>
</li>
<li>
<span>Item</span>
<ul>
<li>
<span>Item</span>
<ul>
<li><span>Item</span></li>
<li><span>Item</span></li>
<li><span>Item</span></li>
<li><span>Item</span></li>
<li><span>Item</span></li>
</ul>
</li>
<li>
<span>Item</span>
<ul>
<li><span>Item</span></li>
<li><span>Item</span></li>
<li><span>Item</span></li>
<li><span>Item</span></li>
<li><span>Item</span></li>
</ul>
</li>
<li>
<span>Item</span>
<ul>
<li><span>Item</span></li>
<li><span>Item</span></li>
<li><span>Item</span></li>
<li><span>Item</span></li>
<li><span>Item</span></li>
</ul>
</li>
</ul>
</li>
</ul>