详解CSS3选择器:nth-child和:nth-of-type之间的差异


Posted in HTML / CSS onSeptember 18, 2017

先看一个简单的实例,首先是HTML部分:

<section>
    <p>我是第1个p标签</p>
    <p>我是第2个p标签</p>  <!-- 希望这个变红 -->
</section>

然后两个选择器相对应的CSS代码如下:

p:nth-child(2) { color: red; }
p:nth-of-type(2) { color: red; }

上面这个例子中,这两个选择器所实现的效果是一致的,第二个p标签的文字变成了红色:

详解CSS3选择器:nth-child和:nth-of-type之间的差异

尽管上面两个demo的最后效果一致,但是两个选择器之间存在差异是必然的。

对于:nth-child选择器,在简单白话文中,意味着选择一个元素:

1、这是个段落元素
2、这是父标签的第二个孩子元素

对于:nth-of-type选择器,意味着选择一个元素:

1、选择父标签的第二个段落子元素

我们把上面的实例稍作修改,就可以看到这两个选择器之间的差异表现了,如下HTML代码:

<section>
    <div>我是一个普通的div标签</div>
    <p>我是第1个p标签</p>
    <p>我是第2个p标签</p>  <!-- 希望这个变红 -->
</section>

还是与上面例子一致的CSS测试代码:

p:nth-child(2) { color: red; }

详解CSS3选择器:nth-child和:nth-of-type之间的差异

 

p:nth-of-type(2) { color: red; }

详解CSS3选择器:nth-child和:nth-of-type之间的差异

这时候两个选择器所渲染的结果就不一样了。

p:nth-child(2)其渲染的结果不是第二个p标签文字变红,而是第一个p标签,也就是父标签的第二个子元素。

p:nth-of-type(2)的表现显得很坚挺,其把希望渲染的第二个p标签染红了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
深入解读CSS3中transform变换模型的渲染
May 27 HTML / CSS
带有css3动画效果的兼容多浏览器简单导航条示例
Jan 26 HTML / CSS
纯css3制作的火影忍者写轮眼开眼至轮回眼及进化过程实例
Nov 11 HTML / CSS
利用SVG和CSS3来实现一个炫酷的边框动画
Jul 22 HTML / CSS
浅析CSS3中鲜为人知的属性:-webkit-tap-highlight-color
Jan 12 HTML / CSS
深入浅析CSS3中的Flex布局整理
Apr 27 HTML / CSS
使用HTML5 Canvas绘制直线或折线等线条的方法讲解
Mar 14 HTML / CSS
HTML5中的Article和Section元素认识及使用
Mar 22 HTML / CSS
html5实现多文件的上传示例代码
Feb 13 HTML / CSS
基于HTML5 WebGL的3D机房的示例
Mar 16 HTML / CSS
详解canvas绘制网络字体几种方法
Aug 27 HTML / CSS
HTML5在手机端实现视频全屏展示方法
Nov 23 HTML / CSS
HTML5+CSS3 实现灵动的动画 TAB 切换效果(DEMO)
Sep 15 #HTML / CSS
CSS3 Calc实现滚动条出现页面不跳动问题
Sep 14 #HTML / CSS
基于CSS3 animation动画属性实现轮播图效果
Sep 12 #HTML / CSS
用css3写出气球样式的示例代码
Sep 11 #HTML / CSS
CSS3的 fit-content实现水平居中
Sep 07 #HTML / CSS
CSS3的calc()做响应模式布局的实现方法
Sep 06 #HTML / CSS
HTML+CSS3模拟心的跳动实例代码
Sep 05 #HTML / CSS
You might like
PHP中把stdClass Object转array的几个方法
2014/05/08 PHP
PHP面向对象详解(三)
2015/12/07 PHP
扩展easyui.datagrid,添加数据loading遮罩效果代码
2010/11/02 Javascript
javascript 全选与全取消功能的实现代码
2012/12/23 Javascript
JS 操作Array数组的方法及属性实例解析
2014/01/08 Javascript
一个小例子解释如何来阻止Jquery事件冒泡
2014/07/17 Javascript
js怎么覆盖原有方法实现重写
2014/09/04 Javascript
SyntaxHighlighter 3.0.83使用笔记
2015/01/26 Javascript
javascript+HTML5的canvas实现七夕情人节3D玫瑰花效果代码
2015/08/04 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记9)
2015/12/24 Javascript
图片旋转、鼠标滚轮缩放、镜像、切换图片js代码
2020/12/13 Javascript
window.onerror()的用法与实例分析
2016/01/27 Javascript
Javascript技术栈中的四种依赖注入详解
2016/02/23 Javascript
Bootstrap按钮组件详解
2016/04/26 Javascript
JavaScript获取URL参数的方法之一
2017/03/24 Javascript
自定义事件解决重复请求BUG的问题
2017/07/11 Javascript
基于express中路由规则及获取请求参数的方法
2018/03/12 Javascript
vue awesome swiper异步加载数据出现的bug问题
2018/07/03 Javascript
vue+vue-router转场动画的实例代码
2018/09/01 Javascript
微信小程序 高德地图路线规划实现过程详解
2019/08/05 Javascript
JS中async/await实现异步调用的方法
2019/08/28 Javascript
Python中使用装饰器和元编程实现结构体类实例
2015/01/28 Python
python如何读写json数据
2018/03/21 Python
Python将list中的string批量转化成int/float的方法
2018/06/26 Python
为你的html5网页添加音效示例
2014/04/03 HTML / CSS
Cecil Mode法国在线商店:女性时尚
2021/01/08 全球购物
教师党员一句话承诺
2014/03/28 职场文书
《金子》教学反思
2014/04/13 职场文书
职位说明书范文
2014/05/07 职场文书
2014卖家双十一活动策划书
2014/09/29 职场文书
2014年公司工作总结
2014/11/22 职场文书
我们的节日元宵节活动总结
2015/02/06 职场文书
小区保洁员岗位职责
2015/04/10 职场文书
大学生就业意向书
2015/05/11 职场文书
运动会报道稿大全
2015/07/23 职场文书
日元符号 ¥
2022/02/17 杂记