繁体   English   中英

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。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM