你能看一下这个演示,让我知道为什么我无法使用not选项将css规则添加到第一个项目中?
li:not(first) {
color: red;
}Run Code Online (Sandbox Code Playgroud)
<ul>
<li>Item 1</li>
<li>Item 2
<ul>
<li>Item 2-1</li>
<li>Item 2-2</li>
<li>Item 2-3</li>
<li>Item 2-4</li>
</ul>
</li>
<li>Item 3</li>
<li>Item 4</li>
</ul>Run Code Online (Sandbox Code Playgroud)
你可能意味着:not(:first-child)(没有CSS first).有:first,不过这是印刷:
该
:first@page CSS伪类描述打印文档时,第一页的样式.
li:not(:first-child){ color:red; }Run Code Online (Sandbox Code Playgroud)
<ul>
<li>Item 1</li>
<li>Item 2
<ul>
<li>Item 2-1</li>
<li>Item 2-2</li>
<li>Item 2-3</li>
<li>Item 2-4</li>
</ul>
</li>
<li>Item 3</li>
<li>Item 4</li>
</ul>Run Code Online (Sandbox Code Playgroud)
你也可以这样做li:not(:first-of-type):
li:not(:first-of-type){ color:red; }Run Code Online (Sandbox Code Playgroud)
<ul>
<li>Item 1</li>
<li>Item 2
<ul>
<li>Item 2-1</li>
<li>Item 2-2</li>
<li>Item 2-3</li>
<li>Item 2-4</li>
</ul>
</li>
<li>Item 3</li>
<li>Item 4</li>
</ul>Run Code Online (Sandbox Code Playgroud)
或者li:not(:nth-child(1)):
li:not(:nth-child(1)){ color:red; }Run Code Online (Sandbox Code Playgroud)
<ul>
<li>Item 1</li>
<li>Item 2
<ul>
<li>Item 2-1</li>
<li>Item 2-2</li>
<li>Item 2-3</li>
<li>Item 2-4</li>
</ul>
</li>
<li>Item 3</li>
<li>Item 4</li>
</ul>Run Code Online (Sandbox Code Playgroud)
或者li:not(:nth-of-type(1)):
li:not(:nth-of-type(1)){ color:red; }Run Code Online (Sandbox Code Playgroud)
<ul>
<li>Item 1</li>
<li>Item 2
<ul>
<li>Item 2-1</li>
<li>Item 2-2</li>
<li>Item 2-3</li>
<li>Item 2-4</li>
</ul>
</li>
<li>Item 3</li>
<li>Item 4</li>
</ul>Run Code Online (Sandbox Code Playgroud)
顺便说一句,如果你想知道为什么内部列表没有改变它的第一个元素的颜色,因为颜色是一个继承属性.