css - 使用 CSS 斑马条纹嵌套列表

标签 css pseudo-class

使用 :nth-child(odd/even) 伪类可以很容易地为具有交替背景的列表和行设置样式,但是如果您尝试将它应用于嵌套列表,它开始看起来很丑。

我的问题是,是否有任何方法可以按深度/层次交替,例如,父元素颜色与子元素无限交替。例如:

  • 红色
    • 蓝色
    • 蓝色
      • 红色
      • 红色
        • 蓝色
      • 红色
    • 蓝色

jsfiddle

最佳答案

简短的回答,没有。长答案,是的,通过定位嵌套元素,例如:

li:nth-child(odd) {background:blue}
li:nth-child(odd) li:nth-child(even) {background:blue}
li:nth-child(even) li:nth-child(odd) {background:blue}

但超过 2 或 3 个级别后,您可能需要很多规则。

您也可以使用 javascript 来实现,通过沿着树向下走并递增计数器,在计数器为奇数或偶数时应用样式。

关于css - 使用 CSS 斑马条纹嵌套列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9867471/

相关文章:

html - 仅对具有不同颜色的表格行的输入文本字段进行样式化

html - 如何在IE中制作自定义滚动条?

css - 当动画完成其序列时如何为元素设置动画

php - 跨越输入字段并在我提交时删除 html 文本

html - 如何在html表格的两行之间换行或空格

html - 为什么这个 html 在 css 中被检查为有效?

html - 是否可以纯粹在 css 中制作一个带有 1 个尖边的 1px 边框输入字段?

html - CSS - 我的 div 不会放在左上角

javascript - :active pseudo class get applied 到底是什么时候

css - 为什么不能将特定于供应商的伪元素/类组合到一个规则集中?