繁体   English   中英

仅为父母而不是儿童申请css

[英]applying css for only parent but not to children

我有一个这样的无序列表:

<div class="list">
<ul>
    <li>
        list1
        <ul>
            <li>Sub list1</li>
            <li>Sub list2</li>
            <li>Sub list3</li>
        </ul>
    </li>
    <li>
        list2
        <ul>
            <li>Sub list1</li>
            <li>Sub list2</li>
            <li>Sub list3</li>
        </ul>
    </li>
</ul>
</div>

我现在想要只为第一个列表应用CSS,而不是它的孩子ulli 我尝试过以下方法:

.list ul li{
background:#ccc;
}

...但背景颜色应用于所有列表。 应该怎么做才能改变只有父级而不是子级的CSS。

使用直接后代运算符>

.list > ul > li { ... }

>运算符仅选择元素作为元素的直接子元素。

但请注意,该列表项内的任何内容当然都具有列表项的背景,尽管没有直接分配给它的任何背景颜色。

您可以使用>运算符,如下所示:

.list > ul > li{
  background:#ccc; 
}

这样做的唯一方法是:

.List > ul > li { background-color: #ccc; }

如果你只想将bgcolor应用于ul,只需:

.List > ul { background-color: #ccc; }

:)

或者,您现在可以:

li:not(li li) { background: #ccc; }

暂无
暂无

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

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