深入理解 nth-child 和 nth-of-type 的区别
ele:nth-of-type(n) 为什么叫 of-type ,就是说它是以“type”来区分的,也就是说ele:nth-of-type(n)指的是父元素下第n个ele元素。
ele:nth-child(n) 指的是父元素下第n个元素且这个元素是ele,若没有,则选择失败。
举例:
<style>
.div-parent span:nth-child(2){
color:red;
}
.div-parent span:nth-of-type(2){
color:yellow;
}
</style> <div class="div-parent">
<p>这是段落P</p>
<span>这是span1</span>
<span>这是span2</span>
</div>
结果为:
这是段落P
这是span1 这是span2
说明:
span:nth-child(2) 选择的是所有子元素中的第二个元素,这个元素必须是span
span:nth-of-type(2) 选择的是所有的span子元素中的第二个元素。
如果在nth-child 和 nth-of-type前不指定标签呢?
举例:
<style>
.div-parent :nth-child(2){
color:red;
}
.div-parent :nth-of-type(2){
color:yellow;
}
</style> <div class="div-parent">
<p>这是段落P1</p>
<span>这是span1</span>
<span>这是span2</span>
<p>这是段落P2</p>
</div>
结果为:
这是段落P1
这是span1 这是span2
这是段落P2
说明:
:nth-child(2) 不管是否指定标签,:nth-child(2)选择的都是第二个子元素,只不过如果指定了标签,那第二个元素就必须是该标签元素,否则选择失败。
:nth-of-type(2) 它选中了两个元素,分别是父级.div-parent 下第二个p标签和第二个span标签,说明,:nth-of-type(2) 选择的是各个子类型标签的第二个元素。
最后,我们了解一下,:nth-child(n) 和 :nth-of-type(n) 括号中的n代表什么?
说明:
上述选择器中的n,可以是数字,关键字和公式
① 数字:前面举例已经说明了, 1就是第一个 、2就是第二个
② 关键字: odd 和 even 匹配下标是奇数或偶数的子元素关键字,第一个子元素下标是1,那odd就是第1,3,5,7...个子元素
③ 公式:就是一种算数表达式,表示周期,n是从0开始计数
比如 2n,就是下标是2的倍数的子元素,其实就等同于even
比如n+2,就是下标不小于2的子元素,其实就是第2,3,4,5,6...个
特别说明下面这个例子:
<style>
.div-parent .item:nth-of-type(2){
color:yellow;
}
</style> <div class="div-parent">
<p>这是段落P1</p>
<span>这是span1</span>
<span class="item">这是span2</span>
</div>
结果:
这是段落P1
这是span1 这是span2
说明:
.item:nth-of-type(2) ,指的是span2,就等同于 span:nth-of-type(2)。而 .item:nth-of-type(1)是无效的,选择失败。因为span1,没有这个类.item
所以说,如果 :nth-of-type(2) 前指定的元素是类,选择的是指定类对应的标签下的第二个元素,且这个元素的类是指定类。
深入理解 nth-child 和 nth-of-type 的区别的更多相关文章
- 现代C++之理解模板类型推断(template type deduction)
理解模板类型推断(template type deduction) 我们往往不能理解一个复杂的系统是如何运作的,但是却知道这个系统能够做什么.C++的模板类型推断便是如此,把参数传递到模板函数往往能让 ...
- 简单理解Struts2中拦截器与过滤器的区别及执行顺序
简单理解Struts2中拦截器与过滤器的区别及执行顺序 当接收到一个httprequest , a) 当外部的httpservletrequest到来时 b) 初始到了servlet容器 传递给一个标 ...
- 【转】为什么我们都理解错了HTTP中GET与POST的区别
GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二. 最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数. 你可能自己 ...
- ASP.NET控件<ASP:Button /> html控件<input type="button">区别联系
ASP.NET控件<ASP:Button />-------html控件<input type="button">杨中科是这么说的:asp和input是一样 ...
- Index 和 Type 的区别
原文: Index vs. Type By Adrien Grand 译者: fengchang 对于 ES 的新用户来说,有一个常见的问题:要存储一批新的数据时,应该在已有 index 里新建一个 ...
- vue系列---理解Vue中的computed,watch,methods的区别及源码实现(六)
_ 阅读目录 一. 理解Vue中的computed用法 二:computed 和 methods的区别? 三:Vue中的watch的用法 四:computed的基本原理及源码实现 回到顶部 一. 理解 ...
- 深入理解Javascript中构造函数和原型对象的区别
在 Javascript中prototype属性的详解 这篇文章中,详细介绍了构造函数的缺点以及原型(prototype),原型链(prototype chain),构造函数(constructor) ...
- 理解Java中字符流与字节流的区别
1. 什么是流 Java中的流是对字节序列的抽象,我们可以想象有一个水管,只不过现在流动在水管中的不再是水,而是字节序列.和水流一样,Java中的流也具有一个“流动的方向”,通常可以从中读入一个字节序 ...
- 5分钟理解iaas paas saas三种云服务区别
随着云计算的大热,向我咨询云计算相关问题的童鞋也越来越多,其中最近问的比较多的一个问题便是云计算中的pass是什么意思?整好今天有空,统一给大家解释下pass是什么意思?和Iass.Sass之间有什么 ...
- const type& 与 type& 的区别
const type& 与 type& 是C/C++编程中容易混淆的两个知识点,现在以 cont int& 与 int& 为例讲解: 1.int& 讲解 int ...
随机推荐
- MySQL所有的安装部署方式
目录 一.前言 二.关于MySQL的安装 三.部署规划 3.1 服务器规划 3.2 数据库目录规划 四.准备工具 五.通用二进制包安装MySQL 5.1 上传MySQL通用二进制安装包到node7的/ ...
- python库-collections模块Counter类
Counter类主要是用来跟踪值出现的次数.它是一个无序的容器类型,以字典的键值对形式存储,其中元素作为key,其计数作为value. demo: all_words = [] # 列表里面是汉字(可 ...
- jchdl - GSL实例 - ComplementTwo(二的补码)
https://mp.weixin.qq.com/s/Gh2xJJvfg1SlyuayK4LRyQ 二的补码指对二进制数的所有位数整体求补.二进制运算下0,1互为补数,n位二进制数a的补数为2^n ...
- 【asp.net core 系列】3 视图以及视图与控制器
0.前言 在之前的几篇中,我们大概介绍了如何创建一个asp.net core mvc项目以及http请求如何被路由转交给对应的执行单元.这一篇我们将介绍一下控制器与视图直接的关系. 1. 视图 这里的 ...
- Java实现蓝桥杯 历届试题 合根植物
问题描述 w星球的一个种植园,被分成 m * n 个小格子(东西方向m行,南北方向n列).每个格子里种了一株合根植物. 这种植物有个特点,它的根可能会沿着南北或东西方向伸展,从而与另一个格子的植物合成 ...
- Java实现洛谷P1250 种树 (暴力)
P1250 种树 输入输出样例 输入 9 4 1 4 2 4 6 2 8 9 2 3 5 2 输出 5 PS: 我种最少的树,意味着我的树要最多的被利用,意味着,我的树要尽可能的靠中间种, 也就是我把 ...
- Java实现N*N矩阵旋转(360度)
N*N矩阵旋转 Description 给你一个n*n的矩阵,你的任务是将它逆时针旋转角度d. [输入] 输入的第一个数为T,表示接下来有T组数据. 每组数据的格式如下: 第一行为两个整数n,d.1& ...
- Java实现 LeetCode 74 搜索二维矩阵
74. 搜索二维矩阵 编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值.该矩阵具有如下特性: 每行中的整数从左到右按升序排列. 每行的第一个整数大于前一行的最后一个整数. 示例 1: ...
- 第四届蓝桥杯JavaB组省赛真题
解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.世纪末星期 题目描述 曾有邪教称1999年12月31日是世界末日.当然该谣言已经不攻自破. 还有人称今后的某个世纪末的12月31日,如 ...
- 第九届蓝桥杯JavaC组省赛真题
解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.哪天返回 题目描述 小明被不明势力劫持.后被扔到x星站再无问津.小明得知每天都有飞船飞往地球,但需要108元的船票,而他却身无分文. ...