如何nth-of-type
在一个<span>
元素中包含的<li>
元素上使用css选择器<ul>
?
我本来期望span:nth-of-type(odd)
和span:nth-of-type(even)
工作,但他们没有.
有问题的页面如下:
<style>
span:nth-of-type(even) {
background-color: grey;
}
span:nth-of-type(odd) {
background-color: blue;
}
</style>
<ul>
<li>
<span>Test 1</span>
</li>
<li>
<span> 2 Test</span>
</li>
</ul>
<br>
Should look like this:
<br>
<span>Test 1</span>
<br>
<span> 2 Test</span>
Run Code Online (Sandbox Code Playgroud)
这是一个JSFiddle来显示实际问题.
你必须这样做:
li:nth-of-type(odd) > span {}
li:nth-of-type(even) > span {}
Run Code Online (Sandbox Code Playgroud)
选择器nth-of-type
(和也first-child
,last-child
或nth-child
)指的是他们的父母.在这种情况下,父级是<li>
-tag.所以两个<span>
都是奇数元素,因为它们都是第一个子元素.并且两者都以您定义CSS规则的方式被选中.这里的CSS规则选择他们的父母,因为他们可以交替,并相应地设置孩子的风格.