一、:nth-child
1.1 说明
:nth-child(n)选择器匹配属于其父元素的第N个子元素,不论元素的类型。n可以是数字、关键词或公式。
注意:如果第N个子元素与选择的元素类型不同则样式无效!
1.2 示例
<style> div>p:nth-child(2){ color:red; } </style> <div> <p>我是第1个段落</p> <p>我是第2个段落</p><!--符合条件:1、是<p>元素,2、父元素<div>的第二个元素。这里被选择,会变成红色。--> <p>我是第3个段落</p> </div> <div> <p>我是第1个段落</p> <span>我是第1个文本</span><!--不符合条件:不是<p>元素,没有被选择--> <p>我是第2个段落</p> </div>
1.3 改进
如果想让上面第二个<span>
生效的可以去除子元素<p>
的选择,写一个父元素<div>
加一个空格,以防止:nth-child
不生效。
<style> div :nth-child(2){ //div+空格,只根据父元素选择 color:red; } </style> <div> <p>我是第1个段落</p> <span>我是第1个文本</span><!--符合条件--> <p>我是第2个段落</p> </div>
二、:nth-of-type
2.1 说明
:nth-of-type(n)选择器匹配属于父元素的特定类型的第N个子元素的每个元素。n可以是数字、关键词或公式。
2.2 示例
<style> div>p:nth-of-type(2){ color:red; } </style> <div> <p>我是第1个段落</p> <p>我是第2个段落</p><!--符合条件:1、是特定元素类型<p>,2、是父元素<div>的第二个<p>元素。这里被选择,会变成红色--> <p>我是第3个段落</p> </div> <div> <p>我是第1个段落</p> <blockquote>第1个引用</blockquote> <p>我是第2个段落</p><!--符合条件:1、是特定元素类型<p>,2、是父元素<div>的第二个<p>元素。这里被选择,会变成红色--> <p>我是第3个段落</p> </div>
2022年6月10日
N 从 0 开始