关于CSS:Nth-last-child选择器不起作用


nth-last-child selector not working

我有这个html:

1
2
3
4
5
6
7
8
9
10
11
12
13
title
<p>one para</p>
<p>Maybe another para</p>
<p>
<ul>

<li>
.....
</li>

</ul>
</p>
<h4>text</h4>

我要编辑其中包含ul的p-

我想过

1
2
.leading-4 p:nth-last-child(1){
}

1
2
.leading-4:nth-last-child(1){
}

但是它也不起作用(尽管我认为不会)

请问我在做什么错


您想要的是最后一种。

但是正如Praveen所说的,您应该修复HTML。如有疑问,请使用W3C验证器。


<pa>标记内不能有
<DDPB1>
!因此,当您放置<pa>
<DDPB1>

<DDPBX1>
<pb>时,浏览器会将其视为<pa><pb>
<DDPB1>

<DDPBX1>

因此从技术上讲,<pa>内不存在
<DDPB1>
,因此CSS选择器在任何情况下都不会选择HTML中的元素。

因此,请考虑将元素更改为

证明:

1
2
3
p {color: red;}
ul {color: blue;}
p ul {color: green;}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<p>This is para</p>
<p>
  The next UL element will be kicked out of P. Before UL.
 
<ul>

<li>
This is LI inside UL inside P
</li>

</ul>

  After UL. And this becomes normal text under the body, and not under P.
</p>

<ul>

<li>
This is LI inside UL
</li>

</ul>

参考文献:

  • ul元素永远不能是p元素的子元素
  • 将UL放在段落中可以接受吗?

解决方案:

为您选择最后一个<pa>的解决方案是:

1
p:last-of-type { /* rules */}