:nth-of-child和:nth-of-type

:nth-of-child

用法: :nth-of-child(n), n可以为数字或者表达式(例如2n + 1,指的是奇数项)

介绍: 第n个孩子 

例如 div:nth-of-child(1)  等同于 div:first-of-child  div的第一个孩子元素(不区分标签和类名)

<div>
  <p></p>
  <div></div>
</div>

会选中<p></p>

:nth-of-type

用法: :nth-of-type(n), n可以为数字或者表达式(例如2n + 1,指的是奇数项)

介绍: 选择器匹配同类型中的第n个同级兄弟元素。

例如 div:nth-of-type(1),表示选中同级中第一个div

<div>
  <p></p>
  <div class="box"></div>
</div>

此处的div:nth-of-type(1) 指的是子级的class="box"的div, 此时选中的是div自身,因为虽然p为div下第一个元素,也是和class="box"的div同级的第一个元素,但是div:nth-of-type(1)选中的是和div同级且也是div的第一个元素(并且类名需要为box)

!类名(.box)等同于div

测试发现添加类名之后,例如:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>菜鸟教程(runoob.com)</title> 
<style> 
.box:nth-of-type(2)
{
	background:#ff0000;
}
</style>
</head>
<body>

<h1>This is a heading</h1>

<div>22</div>
<div class="box">The second paragraph.</div>
<p>The third paragraph.</p>
<p class="box">The fourth paragraph.</p>

</body>
</html>

菜鸟教程在线编辑器

这是上面执行的结果,如果:nth-of-type(2)改为:nth-of-type(1),则都不为红色,因为不符合类名等于box的条件。

简而言之就是  选中第二个同级同类型同类名(如果选择器是类名)的元素

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值