问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

:nth-child() 与 -nth-of-type() 的区别

发布网友 发布时间:2024-10-16 04:30

我来回答

2个回答

热心网友 时间:2024-10-17 07:40

:nth-child和:nth-of-type都是css3的结构伪类选择器,和他们相关的还有一堆其他的结构伪类选择器,如果搞懂了这两个选择器的话,相应的也能搞懂和他们相关的其他结构伪类选择器啦。

这两个选择器,可不像我们看起来的那么简单,他们的作用相近,却又不完全一样。

定义

我们先来看下这两个选择器的定义:

:nth-child(n) 选择器匹配父元素中的第 n 个子元素,元素类型没有限制。

:nth-of-type(n)选择器匹配同类型中的第n个同级兄弟元素。

n可以是一个数字,一个关键字,或者一个公式。

写个例子看下:

<!DOCTYPE html> 

<html> 

<head> 

<meta charset="UTF-8"> 

<title>:nth-child()和:nth-of-type()的区别</title> 

<style> 

.box p:nth-child(2){ 

color:#fff; 

background: orange; 

</style> 

</head> 

<body> 

<div class="box"> 

<h2>我是h2标签</h2> 

<p>我是.box里的第二个子元素,我是第一个p标签</p> 

<p>我是.box里的第三个子元素,我是第二个p标签</p> 

</div> 

</body> 

</html> 

效果如下:

请点击输入图片描述

<!DOCTYPE html> 

<html> 

<head> 

<meta charset="UTF-8"> 

<title>:nth-child()和:nth-of-type()的区别</title> 

<style> 

.box p:nth-of-type(2){ 

color:#fff; 

background: orange; 

</style> 

</head> 

<body> 

<div class="box"> 

<h2>我是h2标签</h2> 

<p>我是.box里的第二个子元素,我是第一个p标签</p> 

<p>我是.box里的第三个子元素,我是第二个p标签</p> 

</div> 

</body> 

</html> 

效果如下:

请点击输入图片描述

一个是.box p:nth-child(2),一个是.box p:nth-of-type(2),括号里面都2,但是效果却不同。那么到底这两个选择器是什么意思呢?

分析:

我们再来看下结构:

.box的子元素有三个,第一个是h2标签,第二个和第三个是p标签。

<div class="box"> 

<h2>我是h2标签</h2> 

<p>我是.box里的第二个子元素,我是第一个p标签</p> 

<p>我是.box里的第三个子元素,我是第二个p标签</p> 

</div> 

.box p:nth-child(2)

.box p:nth-child(2)的效果是选择出了第一个p标签,也就是.box里的第二个子元素。

请点击输入图片描述

翻译下:

1.确定了选择的是.box元素里面的p元素。

2.选择的是.box的子元素里面àp元素à的父元素里面的à第二个子元素。

3.我们来分析下第二点到底是什么意思:”.box的子元素里面àp元素”指的是这两个元素:

请点击输入图片描述

4.“ p元素à的父元素”指的就是.box这个元素:

请点击输入图片描述

5.“ 的父元素里面的à第二个子元素”的意思就是:.box这个元素里面的第二个子元素:

6.别忘记我们第1条里面的“确定了选择的是.box元素里面的p元素”,我们确定了这个第二个元素就是p元素,因此得出的效果是:

怎么样?现在明白.box p:nth-child(2)是什么意思了吧~那我们再来看下.box p:nth-of-type(2)吧~

.box p:nth-of-type(2)

.box p:nth-of-type(2)的效果是选择出了第二个p标签,也就是.box里的第三个子元素。

翻译下:

1.确定了选择的是.box元素里面的p元素。

2.选择的是.box的子元素里面àp元素à的父元素里面的à第二个p元素。

3.我们来分析下第二点到底是什么意思:”.box的子元素里面àp元素”指的是这两个元素:

4.“ p元素à的父元素”指的就是.box这个元素:

5.“ 的父元素里面的à第二个p元素”的意思就是:.box这个元素里面的p元素里的第二个,所以这里我们就不用管其他元素,只找p元素就可以了,因此选择出的结果是:

案例中的.box p:nth-child(2)和.box p:nth-of-type(2)区别就在于是第二个子元素还是第二个p元素

其实区别很简单::nth-of-type为什么要叫:nth-of-type?因为它是以"type"来区分的。所以我们只需要找这个类型的元素,其他元素都可以视而不见。

热心网友 时间:2024-10-17 07:41

最大的区别是 child 表示儿童,type 表示类型。nth 是序数词,表示频繁出现的第n个,前面应该加定冠词。the nth child 意思是第n个儿童,the nth of type 意思是 “属于类型的第n个”。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
炒股怎么买进卖出? 办一个餐饮的营业执照要多少钱 上海贷款平台有哪些 上海有什么网贷 Intel 赛扬D325 2.53G与多大频率的内存匹配 Intel 赛扬D 352(散)重要参数 CPU Intel 赛扬D 326 这个东西怎么看的? Intel 赛扬D 326(散)重要参数 Intel 赛扬D 325(盒)重要参数 Intel 赛扬D 325(盒)Intel 赛扬D 325(盒)详细参数 高尔夫7保养复位了还是提示 属鼠的佩戴什么最旺财运呢 怎么查看自己在手机上下载过哪些应用软件 怎样才能使糖化血红蛋白的测定值降低呢? 请问谁知道命令与征服3的序列号放在哪个文件甲的 命令与征服3凯恩之怒和同学连局域网玩但是却看不到对方怎么办_百度知 ... 《命令与征服3》可以用局域网把同寝室的人连起玩吗? ...想连在一起玩命令与征服3可是提示说什么序列号一样的不能一起玩... 怎么在网上查询建行信用卡余额? 什么单机游戏10G之内的gtx750带动好玩的 额温枪摔坏了电池扣那里 我女儿2010年阴历5月18日 18点分出生谁能告诉我下生辰八字和五行缺什... 水利工程和工程造价那个前景更好 ...留言,是用外语写的,具体是什么语言也不清楚,求大神翻译 我的平板电脑上的英文我不知道是哪个国家的语言 我早泄阳茎硬度还不够能吃六味地黄丸吗? 我是个女生,报的是师范,被调剂到物联网工程,这个专业怎么样,难学吗... 求大神翻译一下这两句意大利语,谢谢了。请不要使用在线网络翻译。_百 ... 有没有人知道这是不是沙特阿拉伯语言?请大神翻译,感激不尽!谢谢! 我是河南省的 被调剂到物联网工程专业 不知道这个适合女生么 三本能... 案件第二次从检察院退回公安局怎么处理 技嘉785GM-US2H 主板PCI-E 16X怎么开起 pci- e接口的显卡能不能用在主板上? 在美国留学期间可以回国结婚吗 很流行墙咔这种墙面装饰材料吗? 墙咔怎么样呢? 知道墙咔口碑好不好吗?需要做墙面装饰呢。 移动互联网商业模式概论内容简介 怎么样能跟室友相处融洽呢? 工程造价的计价方式? 工程计价方式有哪些?又有什么区别?又有什么好的学习方法? 97年摩羯座女,摩羯座女生今年财运 12月27日出生的摩羯座性格特点 1997年12月27 早八点出生的上升星座是什么? ...可以报教师资格证吗?我的普通话过了国家二级甲等,拿了证书了的... ...选出不同的一项 A.skate(滑冰) B.season( 季节) C.spring(春天)_百 ... There are___ seasons in a year. Winter is___season. A.fourth... 阅读小天地:读一读,选一选。 Which season is your favourite season... There are four ___ in a year. [ ] A. seasonB. months..._百度知 ... I like autumn ___of all the season