nth-child、nth-of-type怎么用
时间: 2023-11-21 21:55:03 浏览: 31
nth-child和nth-of-type是CSS中用于选择子元素的伪类选择器。
nth-child(selector)选择器匹配其父元素的第n个子元素,无论它的类型是什么。
nth-of-type(selector)选择器匹配其父元素中特定类型的第n个子元素。
这两个选择器都接受一个参数,可以是一个具体的数字、关键字even(偶数)或odd(奇数),也可以是一个表达式。
例如,使用nth-child(2)会选择其父元素的第二个子元素,而使用nth-of-type(3n+1)会选择其父元素中每隔3个同类型子元素的第一个。
下面是一些示例:
```css
/* 选择第二个子元素 */
:nth-child(2) {
/* 样式 */
}
/* 选择第三个同类型子元素 */
:nth-of-type(3) {
/* 样式 */
}
/* 选择每隔2个同类型子元素的第一个 */
:nth-of-type(2n+1) {
/* 样式 */
}
```
注意,nth-child和nth-of-type都从1开始计数,而不是从0开始。另外,如果指定的子元素不存在,则选择器将不匹配任何元素。
相关问题
nth-of-type和nth-child区别
nth-of-type和nth-child是CSS中用来选择特定元素的伪类选择器。
nth-of-type选择器用于选择同类型元素中的特定位置的元素。它的语法是`:nth-of-type(n)`,其中n可以是一个具体的数字、关键字even(偶数)、odd(奇数)或表达式an+b。例如,`:nth-of-type(3)`会选择同类型元素中的第三个元素。
而nth-child选择器用于选择父元素下的所有子元素中的特定位置的元素,无论其类型如何。它的语法也是`:nth-child(n)`,具体使用方式与nth-of-type相同。例如,`:nth-child(3)`会选择父元素下的第三个子元素。
区别在于,nth-of-type只会选择同类型元素中的特定位置的元素,而nth-child会选择父元素下的所有子元素中的特定位置的元素,无论其类型如何。因此,在某些情况下,它们可能会选择不同的元素。
nth-of-type与nth-child区别
nth-of-type和nth-child都是伪类选择器,用于选取文档中特定位置的元素。
nth-child选择器选取父元素下的某个子元素,其参数可以是数值、关键词(如odd、even)或表达式(如2n+1)。
nth-of-type选择器则是选取父元素下某种类型的特定位置的子元素,其参数也可以是数值、关键词或表达式。但是它只会考虑与其同类型的兄弟元素,与nth-child不同的是,它不会考虑其他类型的兄弟元素。
举个例子,假设有如下HTML代码:
```html
<ul>
<li>Apple</li>
<li>Pear</li>
<li>Orange</li>
<div>Banana</div>
<li>Mango</li>
</ul>
```
如果想要选择第二个元素,即Pear,使用nth-child(2)和nth-of-type(2)的结果是相同的。但是如果想要选择第二个li元素,就只能使用nth-of-type(2),因为nth-child(2)会选择div元素,因为它是父元素下的第二个子元素。
综上所述,nth-of-type选择器更适合选取特定类型的元素,而nth-child选择器则更适合选取特定位置的元素。