nth-child 与 nth-of-type区别

nth-child:匹配父元素的第n个子元素E,假设该子元素不是E,则选择符无效。

  • 要使该属性生效,E元素必须是某个元素的子元素,E的父元素最高是body,即E可以是body的子元素

关键点:1.有父元素;2.第n个子元素;



nth-of-type:匹配父元素下同类型中的第n个同级兄弟元素E。

  • 要使该属性生效,E元素必须是某个元素的子元素,E的父元素最高是html,即E可以是html的子元素,也就是说E可以是body

关键点:1.有父元素;2.同类型的第n个元素;

因为(n)代表一个乘法因子,可以是0, 1, 2, 3, ..., 所以(2n)换算出来会是偶数,而(2n+1)换算出来会是奇数

<ul>
  <li>li1</li>
  <div>div1</div>
  <li>li2</li>
  <div>div2</div>
  <li>li3</li>
  <div>div3</div>
  <li>li4</li>
  <div>div4</div>
  <li>li5</li>
  <div>div5</div>
</ul>
ul li:nth-of-type(n + 3){
  color:red;
}/* ul下面,所有的li排序后大于等于3的li元素(重点只计算li元素) */
ul li:nth-child(5){
  color:blue;
}

/* ul下面,第五个子元素,同时他是li元素字体颜色为蓝色 */
ul div:nth-of-type(n + 3){
  color:green;
}/* ul下面,所有的div排序后大于等于3的div元素(重点只计算div元素)*/

结果如下:

时间: 2024-11-04 13:59:51

nth-child 与 nth-of-type区别的相关文章

IE6/7兼容伪类、IE9以下兼容颜色渐变、IE8以下兼容nth:child(n)

1.IE6/7兼容伪类 _1.CSS部分:一个有冒号,一个是空格分隔.前者IE8+及其他现代浏览器:后者为IE6-7准备的 #test:before, #test before{ content: attr(data-content); width: 0; height: 0; } _2.HTML部分 <div id="test"  data-content=""></div> 设置content _3.JS部分 设置IE6/7 var $b

linux中查找命令find、locate、whereis、which、type区别

linux中查找命令find.locate.whereis.which.type区别 1. find Java代码 find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件.与查询数据库(/var/lib/locatedb)文件不同,find查找磁盘空间 find的使用格式如下: $ find <指定目录> <指定条件> <指定动作> - <指定目录>: 所要搜索的目录及其所有子目录.默认为当前目录. - <指定条件>: 所要搜索的文件

instance与type区别

class Foo(object): pass class Bar(Foo): pass obj = Bar() # isinstance用于判断,对象是否是指定类的实例 (错误的) # isinstance用于判断,对象是否是指定类或其派生类的实例 print(isinstance(obj,Foo)) #True print(isinstance(obj,Bar))#True #精确的 print(type(obj) == Bar) #True print(type(obj) == Foo)

SQL Server 系统表 sysobjects中xtype和type区别

sysobjects 在数据库内创建的每个对象(约束.默认值.日志.规则.存储过程等)在表中占一行.只有在 tempdb 内,每个临时对象才在该表中占一行. sysobjects 中有二个表示对象类型的字段(type,xtype). type是在 SQL Server 6.0 就有的,xtype在 SQL Server 7.0 才出现的. 对比了一下 type 与 xtype,有一些不同: type:    K = PRIMARY KEY 或 UNIQUE 约束    R = 规则 xtype:

python 内建函数isinstance的用法以及与type的区别

isinstance是Python中的一个内建函数 语法: isinstance(object, classinfo) 如果参数object是classinfo的实例,或者object是classinfo类的子类的一个实例, 返回True.如果object不是一个给定类型的的对象, 则返回结果总是False. 如果classinfo不表示一个类(类型对象), 那么它要么是一个类的元组, 或者递归地包含这样的(由数据类型构成的)元组.其他的序列类型是不被允许的. 如果classinfo不是一种数据

Doctype作用,标准模式与兼容模式的区别

<!DOCTYPE>声明位于位于HTML文档中的第一行,处于 <html> 标签之前.告知浏览器的解析器用什么文档标准解析这个文档.DOCTYPE不存在或格式不正确会导致文档以兼容模式呈现.   标准模式的排版 和JS运作模式都是以该浏览器支持的最高标准运行.在兼容模式中,页面以宽松的向后兼容的方式显示,模拟老式浏览器的行为以防止站点无法工作. HTML5 为什么只需要写 <!DOCTYPE HTML>? HTML5 不基于 SGML,因此不需要对DTD进行引用,但是需

oracle 自定义类型 type / create type

一:Oracle中的类型有很多种,主要可以分为以下几类: 1.字符串类型.如:char.nchar.varchar2.nvarchar2. 2.数值类型.如:int.number(p,s).integer.smallint. 3.日期类型.如:date.interval.timestamp. 4.PL/SQL类型.如:pls_integer.binary_integer.binary_double(10g).binary_float(10g).boolean.plsql类型是不能在sql环境中使

setContentView和inflate区别

一般用LayoutInflater做一件事:inflate inflate这个方法总共有四种形式(见下面),目的都是把xml表述的layout转化为View对象.其中有一个比较常用,View inflate(int resource, ViewGroup root),另三个,其实目的和这个差不多. int resource,也就是resource/layout文件在R文件中对应的ID,这个必须指定.而ViewGroup root则可以是null,null时就只创建一个resource对应的Vie

SetContentView与inflate区别

一般用LayoutInflater做一件事:inflate inflate这个方法总共有四种形式(见下面),目的都是把xml表述的layout转化为View对象.其中有一个比较常用,View inflate(int resource, ViewGroup root),另三个,其实目的和这个差不多. int resource,也就是resource/layout文件在R文件中对应的ID,这个必须指定.而ViewGroup root则可以是null,null时就只创建一个resource对应的Vie

python isinstance()函数和type()函数

一.type()用法 描述: python的 type 函数有两个用法,当只有一个参数的时候,返回对象的类型.当有三个参数的时候返回一个类对象. 语法: 一个参数:type(object) 三个参数:type(name,bases,dict) 用法: 一个参数时,type()返回一个对象的数据类型 1 >>> type(1) 2 <class 'int'> 3 >>> type('alex') 4 <class 'str'> 5 >>