CSS 嵌套列表项和备用背景
CSS Nested lists items and alternate background
我正在寻找一种使列表项具有交替背景颜色的方法。当存在嵌套列表时,项目会交替出现,但子项会缩进,而父项的背景颜色不会向下传递到其嵌套的子项。
无法申请 类。项目的数量也是可变的。最好它应该适用于无限数量的嵌套列表。但如果这不可能,那么 3 个深度的上限(如图所示)就足够了。如果使用 div 而不是 li 和 ul 更容易做到,那对我来说也是可能的。我更喜欢纯粹的HTML/CSS.
因为我所有的实验都没有效果,所以我只能提供一个带有嵌套列表的 JSFiddle。
https://jsfiddle.net/qmdwpzt8/1/
<ul>
<li>Item 1
<ul>
<li>Item 1-1</li>
<li>Item 1-2
<ul>
<li>Item 1-2-1</li>
<li>Item 1-2-2</li>
</ul>
</li>
<li>Item 1-3</li>
</ul>
</li>
<li>Item 2
<ul>
<li>Item 2-1
<ul>
<li>Item 2-1-1</li>
</ul>
</li>
</ul>
</li>
<li>Item 3</li>
<li>Item 4</li>
</ul>
这是一种可能的解决方案:https://jsfiddle.net/qmdwpzt8/3/
不确定它是否会满足您的所有要求,但我用 div
更新了您的列表:
<ul>
<li><div>Item 1</div>
<ul>
<li><div>Item 1-1</div></li>
<li><div>Item 1-2</div>
<ul>
<li><div>Item 1-2-1</div></li>
<li><div>Item 1-2-2</div></li>
</ul>
</li>
<li><div>Item 1-3</div></li>
</ul>
</li>
<li><div>Item 2</div>
<ul>
<li><div>Item 2-1</div>
<ul>
<li><div>Item 2-1-1</div></li>
</ul>
</li>
</ul>
</li>
<li><div>Item 3</div></li>
<li><div>Item 4</div></li>
</ul>
然后添加背景颜色 jQuery:
$( document ).ready(function() {
var b = true;
$( "div" ).each(function( index ) {
b = !b;
if (b) {
$(this).css("background-color", "#ff0000");
} else {
$(this).css("background-color", "#00ff00");
}
});
});
这取决于 jQuery/Javascript。
我正在寻找一种使列表项具有交替背景颜色的方法。当存在嵌套列表时,项目会交替出现,但子项会缩进,而父项的背景颜色不会向下传递到其嵌套的子项。
无法申请 类。项目的数量也是可变的。最好它应该适用于无限数量的嵌套列表。但如果这不可能,那么 3 个深度的上限(如图所示)就足够了。如果使用 div 而不是 li 和 ul 更容易做到,那对我来说也是可能的。我更喜欢纯粹的HTML/CSS.
因为我所有的实验都没有效果,所以我只能提供一个带有嵌套列表的 JSFiddle。
https://jsfiddle.net/qmdwpzt8/1/
<ul>
<li>Item 1
<ul>
<li>Item 1-1</li>
<li>Item 1-2
<ul>
<li>Item 1-2-1</li>
<li>Item 1-2-2</li>
</ul>
</li>
<li>Item 1-3</li>
</ul>
</li>
<li>Item 2
<ul>
<li>Item 2-1
<ul>
<li>Item 2-1-1</li>
</ul>
</li>
</ul>
</li>
<li>Item 3</li>
<li>Item 4</li>
</ul>
这是一种可能的解决方案:https://jsfiddle.net/qmdwpzt8/3/
不确定它是否会满足您的所有要求,但我用 div
更新了您的列表:
<ul>
<li><div>Item 1</div>
<ul>
<li><div>Item 1-1</div></li>
<li><div>Item 1-2</div>
<ul>
<li><div>Item 1-2-1</div></li>
<li><div>Item 1-2-2</div></li>
</ul>
</li>
<li><div>Item 1-3</div></li>
</ul>
</li>
<li><div>Item 2</div>
<ul>
<li><div>Item 2-1</div>
<ul>
<li><div>Item 2-1-1</div></li>
</ul>
</li>
</ul>
</li>
<li><div>Item 3</div></li>
<li><div>Item 4</div></li>
</ul>
然后添加背景颜色 jQuery:
$( document ).ready(function() {
var b = true;
$( "div" ).each(function( index ) {
b = !b;
if (b) {
$(this).css("background-color", "#ff0000");
} else {
$(this).css("background-color", "#00ff00");
}
});
});
这取决于 jQuery/Javascript。