结构伪类选择器E F:nth-child(n)和E F:nth-of-type(n)的区分

本文详细解析了CSS3中的EF:nth-child(n)和EF:nth-of-type(n)两种选择器的区别与用法。通过实例展示了如何精确选择目标元素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用E F:nth-child(n)和E F:nth-of-type(n)的 关键点

我们先来看看这两种选择器的解释
  1. E F:nth-child(n):选择父级元素E的第n个子元素是F的,(n可以使1、2、3),关键字为even、odd
  2. E F:nth-of-type(n):选择父元素内具有只等类型的第n个F子元素
我的理解

这两种选择器最简单的区别方式正如代码中的,一个是child主导,一个是type主导

  1. E F:nth-child(n)是不管三七二十一直接找到父级元素的第n个不管你是<p>标签<div>标签还是其他任意标签。选择器会先选择你然后再进行对比,看第n个元素是不是F,是F则确认选择,不是则放弃选择
  2. E F:nth-of-type(n)则是先找到type,也就是父元素下面的所有F元素,再把其中的第n个确认选择。
  3. 在我看来E F:nth-of-type(n)目的性更强,也更易使用, E F:nth-of-type(n)直接可以直观的确认自己想要确认的是哪一种的哪一个元素。
<!DOCTYPE html>
<html>
<head lang="en">
   <meta charset="UTF-8">
   <title>使用CSS3结构伪类选择器</title>
   <style>
   	* {
   		border:  1px solid red;
   	}

   	/*选择到父级里的第一子元素是p的*/
   	p:nth-child(1){
   		background: yellow;
   	}

   	/*父元素里第2个类型为p的元素*/
   	p:nth-of-type(2){
   		background: blue;
   	}
   </style>
</head>
<body>
   <h2>结构伪类选择器</h2>
   <p>p1</p>
   <p>p2</p>
   <p>p3</p>
   <ul>
   	<li>
   		<p>1</p>
   		<p>2</p>
   		<p>3</p>
   	</li>
   </ul>
</body>
</html>

下面是运行结果
可以看到p2和2都被p:nth-of-type(2)选择变蓝
1的背景变黄但是p1没有,因为p:nth-child(1)在选择的时候p1的<p>标签之前还有一个<h2>标签,所以没有被选择。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值