【发布时间】:2013-01-10 22:05:42
【问题描述】:
我有这个:
<ol>
<li class="letter">
<li class="letter">
<li>
<li>
<li>
<li>
<li>
<li>
<li>
<li>
<li>
<li>
<li>
<li>
</ol>
我希望前 9 个不属于“字母”类的 li 元素以某种方式设置样式。所以,我的想法是,我选择那些不是“字母”类的,然后使用nth-of-type选择:
li:not(.letter):nth-of-type(-n+9):before { ... }
但是,无论类别如何,这都会选择前 9 个,与我使用的结果相同:
li:nth-child(-n+9):before { ... }
我看到了基于E:nth-of-type 和.c:nth-of-type 进行选择的示例。怎么就停在那里了?为什么我不能使用 nth-of-type 关闭伪类来构建选择,就像我可以关闭元素或类一样? (或者我能以某种方式吗?)
【问题讨论】:
-
顺便说一下,伪类和伪元素是不同的东西。
:not()、:nth-child()和:nth-of-type()是伪类;:before是一个伪元素。不要把它们混在一起。
标签: css css-selectors pseudo-class