浅析nth-child、nth-of-type的区别

浅析nth-child、nth-of-type的区别

nth-child 和 nth-of-type是CSS的两个伪选择器。要对相同位置或相似做操作的时候非常有用。前者的字面意思是选择第几个子元素,后者的字面意思是选择某类型的第几个元素。
首先来看他们的完整格式。

selector:nth-child(an+b)    /* 如 tr:nth-child(3), p:nth-child(2n+1) */
selector:nth-of-type(an+b)   /* 如 p:nth-of-type(3), .info:nth-of-type(2n) */

selector可以是标签名,也可以是类名,后面的数字从1开始计数。
下面用例子说明:

<style>
		  p:nth-child(2),p:nth-child(4){        /*在块内,先找绝对位置的第几个元素,然后匹配标签是否符合*/
		    color:red;
		  }
		  .ph:nth-of-type(4){                   /*在块内,同一类型叠加寻找,然后匹配标签是否符合*/
			  color: #0000FF;
		  }
</style>
            <p class="ph">ph1</p>
		    <span class="ph">span1</span>
		    <p class="info">ph2</p>
		    <p class="info">ph3</p>
		    <p class="ph">ph5</p>
			<span class="ph">span2</span>
			<span class="ph">span3</span>
			<span class="ph">span4</span>
			<span class="ph">span5</span>
		```
```css
在这里插入代码片

结果显示:
在这里插入图片描述
解释:p:nth-child(2),p:nth-child(4)会按照顺序找到所需的第几个元素,这里是第二个和第四个,分别为span class=“ph”>span1</span和 p class=“info”>ph3</p,然后在和选定的类型对比,这里选择的p,只有第二个配对成功,颜色改变。
.ph:nth-of-type(4)则会先找到一类符合要求的元素,这里nth-of-type(4)表示找到相同标签的第四个元素,分别为p class=“ph”>ph5</p和span class=“ph”>span5</span,然后在和选定的类型对比,这里选择的.ph,两个都配对成功,颜色改变。

再写一个例子,加深理解。

<style>
			p:nth-of-type(4) {
				color: #FF0000;
			}

			p:nth-child(1),p:nth-child(3),p:nth-child(4){
				color: #0000FF;
			}
</style>
<div>
			<p>11</p>
			<p>22</p>
			<p>33</p>
			<p>44</p>
</div>
<div>
			<p class="test">p1</p>
			<span class="test">span1</span><br>
			<p class="test">p2</p>
			<span class="test">span1</span><br>
			<p class="test">p3</p>
			<span class="test">span1</span><br>
			<p class="test">p4</p>
			<span class="test">span1</span><br>
</div>

在这里插入图片描述

注意:在这个例子中 br 标签,在nth-child中的影响。

借鉴:https://www.cnblogs.com/10yearsmanong/p/13071322.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值