繁体   English   中英

将CSS样式应用于 <li> 在有序列表中,不适用于嵌套的ol

[英]Applying CSS styles to <li> in an ordered list without applying to a nested ol

我有一个具有此结构的嵌套有序列表

<ol>
    <li>
        <span>A</span>
        <ol class="childol">
            <li>
                <span>A1</span>
            </li>
            <li>
                <span>A2</span>
            </li>
        </ol>
     </li>
</ol>

我正在尝试将样式应用于li,例如背景颜色:

li:nth-child(1) { background-color: hsla(41, 100%, 93%, 1); }

我明白了

在此输入图像描述

我试图以100%宽度突出显示“列表简介”。 我试图像这样排除孩子:

li:nth-child(1) :not(.olchild) { background-color: hsla(41, 100%, 93%, 1); }

但我得到这个:

在此输入图像描述

我该怎么做呢?

jsfiddle: http//jsfiddle.net/koesbong/KRv4v/3/

ol li {background-color: red;}
ol li li {background-color: white;}

要么

ol:not(.childol) > li {background-color: red;}
ol li {background-color: white;}

用这个

ol li{
  background:yellow;  
}

 li ol li{
  background:green;
} 

只需使用儿童组合器( ol > li )而不是后代组合( ol li )。

问题是backgournd颜色应用于父列表的整个第一个列表项。 我将一个类应用于父列表和样式:

<style>
   ol.parent>li{ background-color: hsla(41, 100%, 93%, 1); }
   li>ol, li>ol>li{background-color:#FFF;}
</style>

<ol class="parent">
    <li>
        <span>A</span>
        <ol>
            <li>
                <span>A1</span>
            </li>
            <li>
                <span>A2</span>
            </li>
        </ol>
     </li>
</ol>

用适当的背景颜色替换白色(#FFF)

暂无
暂无

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

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