css中关于:nth-child()和:nth-of-type()的深入理解

在css中有这样一类属性,是以:nth-开头的,其中最常见的就是:nth-child() 和 :nth-of-type(),两者既有相同的地方,也有不同的地方。

  • 相同的地方:都是修改父级下的的几个同级的元素的样式
  • 不同的地方::nth-child()是修改父元素下的同级元素的第n个元素内的样式,但是:nth-of-type()是修改父元素下的同级元素的第n个同类型元素的样式。例如:p:nth-of-type(2)就是修改p元素的父级元素下的与p同级的第二个p元素的样式;p:nth-child(2)就是修改p元素的父级元素下的与p同级的第二个元素的样式。
<style>
/* 修改body下面的第二个元素的样式,注意是同级元素**/
body :nth-child(2) {
color: red;
}
/* 修改body下面的每一种元素的第二个元素的样式,注意是同级元素*/
body :nth-of-type(2) {
color: green;
}
</style>
<body>
<a href="#">测试a</a>
<div>测试div</div>
<p>测试p</p>
<a href="#">测试a</a>
<div>测试div</div>
<p>测试p</p>
<b>测试b</b>
<div>测试div</div>
<p>测试p</p>
<a href="#">测试a</a>
<b>测试b</b>
<p>测试p</p>
</body>

结果如下:

css中关于:nth-child()和:nth-of-type()的深入理解的更多相关文章

  1. css中单位px,em,rem和vh/vw的理解

    >px像素(Pixel).相对长度单位.像素px是相对于显示器屏幕分辨率而言的. em是相对长度单位.相对于当前对象内文本的字体尺寸.如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认 ...

  2. CSS中"!important"的使用

    本篇文章使用最新的IE10以及firefox与chrome测试(截止2013年5月27日22:23:22) CSS的原理: 我们知道,CSS写在不同的地方有不同的优先级, .css文件中的定义 < ...

  3. CSS中!important的优先级

    本篇文章使用最新的IE10以及firefox与chrome测试(截止2013年5月27日22:23:22) CSS的原理: 我们知道,CSS写在不同的地方有不同的优先级, .css文件中的定义 < ...

  4. CSS中!important的使用 转

    本篇文章使用最新的IE10以及firefox与chrome测试(截止2013年5月27日22::) CSS的原理: 我们知道,CSS写在不同的地方有不同的优先级, .css文件中的定义 < 元素 ...

  5. Css中如何使英文和拼音变成全大写、全小写和首字母大写?

    想要实现英文和中文拼音变成全大写.全小写和首个字母大写,需要用到 css中text-transform样式属性,接下来介绍一下 1.text-transform的值 1)Capitalize:英文拼音 ...

  6. 如何在CSS中使用变量

    前言 CSS变量(官方称为自定义属性)是用户定义的值,它可以在你的代码库中设置一次并多次使用.它们使管理颜色.字体.大小和动画值变得更加容易,并确保整个web应用的一致性. 举个例子,你可以将品牌颜色 ...

  7. CSS中有关水平居中和垂直居中的解决办法

    CCS中让div等块级元素在父级元素中居中的方法: (1)div{  margin:0 auto   } 该方法只能实现水平的居中,无法实现元素的垂直居中 (2)当div元素的宽高是固定的,然后设置位 ...

  8. CSS遮罩——如何在CSS中使用遮罩

    Css遮罩是2008年4月由苹果公司添加到webkit引擎中的.遮罩提供一种基于像素级别的,可以控制元素透明度的能力,类似于png24位或png32位中的alpha透明通道的效果. 图像是由rgb三个 ...

  9. CSS中盒模型的理解

    今天突然看到一篇关于CSS中盒模型的文章,忽然觉得自己竟然遗忘了很多小的地方,所以写一篇文章来记忆一下 (摘抄于千与千寻写的CSS盒子模型理解,并在自己基础上添加了一些东西,希望更完善,对大家有帮助) ...

  10. 关于CSS中的定位使用子绝父相(子类绝对位置和父类相对位置)

    关于CSS中的定位使用子绝父相(子类绝对位置和父类相对位置) 欢迎转发,但是请填写原博客地址https://www.cnblogs.com/JNovice/p/9536910.html  前言:最近在 ...

随机推荐

  1. 切换npm源的几种方法

    我们在使用官方提供的npm源安装各种依赖包的时候,下载速度会很慢,通常需要更换npm源. 我们可以在终端中输入命令 npm config list 来查看 npm 源地址,默认地址为 metrics- ...

  2. [spring] -- MVC篇

    流程: 客户端(浏览器)发送请求,直接请求到 DispatcherServlet. DispatcherServlet 根据请求信息调用 HandlerMapping,解析请求对应的 Handler. ...

  3. Dockerfile镜像优化,减小镜像

    前言镜像的优化注意几条: 选择最精简的基础镜像减少镜像的层数清理镜像构建的中间产物注意优化网络请求尽量去用构建缓存使用多阶段构建镜像接下来我们以rhel7镜像构建容器,并在容器中安装nginx的源码包 ...

  4. Android复习准备

    1. 四大组件是什么? Activity(活动):用于表现功能 Service(服务):后台运行服务,不提供界面呈现 BroadcastReceiver(广播接收器):用来接收广播 ContentPr ...

  5. 真香!Linux 原来是这么管理内存的

    Linux 内存管理模型非常直接明了,因为 Linux 的这种机制使其具有可移植性并且能够在内存管理单元相差不大的机器下实现 Linux,下面我们就来认识一下 Linux 内存管理是如何实现的. 基本 ...

  6. 人工智能?.netcore一样胜任!

    提起AI,大家都会先想到Python,确实Python作为一门好几十年的老语言,上一波的AI大流行使它焕发了青春.大家用Phtyon来做AI,最主要的原因无非就是编码量更少,很多数学和AI相关的Api ...

  7. MacOS下ElasticSearch学习(第一天)

    ElasticSearch第一天 学于黑马和传智播客联合做的教学项目 感谢 黑马官网 传智播客官网 微信搜索"艺术行者",关注并回复关键词"elasticsearch&q ...

  8. Python大礼包-安装视频+pycharm编译器|Mac版本+64位+32位版本pycharm安装包+python安装|内附网盘链接带提取码

    pycharm安装包+环境安装打包带走,附带视频教程与pdf教程. (下载链接在本文最下方) 多的不说,直接上图: Python大礼包-安装视频+pycharm编译器详细文件: 点击此处进入下载地址 ...

  9. 【保姆级教学】新手第一次搭建vue项目和初始化

    前端项目初始化步骤 安装vue脚手架 通过vue脚手架创建项目 配置vue路由 配置Element-UI组件库 配置axios库 初始化git远程仓库 将本地项目托管到github或者码云上 通过vu ...

  10. PHP array_multisort() 函数

    实例 返回一个升序排列的数组: <?php$a=array("Dog","Cat","Horse","Bear", ...