深入理解nth-child和nth-of-type

深入理解nth-child和nth-of-type,第1张

:nth-child(n)选择器匹配父元素中的第n个子元素,元素类型没有限制,n可以是数字或公式

:nth-of-type(n)选择器匹配同类型中的第n个同级兄弟元素,n可以是数字或公式

我们发现这两个样式表现一致

我们发现这两者表现不一致,第一个标红的是p:nth-child(2),表示匹配父元素中的第2个子元素并且这个元素是p元素,第一个p元素正好符合所以标红,第二个标红的是p:nth-of-type(2),表示匹配同类型(p元素)中的第2个同级兄弟元素

p:nth-child(2)发现父元素下的第二个元素是span不是p元素不符合条件所以没有标红,p:nth-of-type(2)找到同类型p元素的第二个p元素存在,所以可以标红

item:nth-child(2)寻找父元素下的第二个子元素并且class类名是item给它标红,item:nth-of-type(2)寻找同类型元素(p元素)中的第2个同级兄弟元素给它标红

我们发现第一个、第二个、第三个都标红了,item:nth-child(2)还是第二个标红,item:nth-of-type(1)让第一个和第三个标红,解释跟上面一样同类型的第一个子元素

NOKIA N系为S60智能系统 无法使用NTH后缀主题

S60v2的话 支持的主题后缀为SIS

S60v3的话 支持的主题后缀为SISX

NTH为S40系统主题,与S60支持的主题无法转换

nth-child可以选择单个元素,也可以实现一个范围,如:

123456上面是一个列表1选择单个标签元素(指定序列的单个元素)li:nth-child(1){

color:

red;}执行上面的CSS,1在界面上面表现为红色2选择一个范围的标签元素(偶数序列的元素)

import javautilCollections;

import javautilLinkedList;

public class NumberFind {

public static void findLow(int num, int[] target) {

LinkedList<Integer> list = new LinkedList<Integer>();

for (int i = 0; i < num; i++) {

listadd(target[i]);

}

Collectionssort(list);

for (int j = num; j < targetlength; j++) {

int sign = 0;

int listMax=listgetLast();

if(listgetLast()>target[j]){//如果集合里最大的数都比外面的小不需要比较

//如果集合里最大的数比外面的大,为外面的数找个位置

for (int i = 0; i < listsize(); i++) {

int temp = listget(i);

if (temp > target[j]) {

sign = listindexOf(temp);

listadd(sign, target[j]);

listremoveLast();//把集合最后的数踢掉

break;

}

}

}

}

for (int i = 0; i < listsize(); i++) {

Systemoutprint(listget(i) + ",");

}

}

public static void main(String[] args) {

int target[]={46, 62 ,79 , 140 ,254 , 313 , 347, 396, 4,06 ,410 ,

568 , 602 , 617 , 658 , 757 , 816 , 822 , 872 , 892 , 983,

265 , 327 , 697, 651 , 106, 795 ,881 , 480, 19, 894 ,

911 , 479 , 254 , 517 , 462 ,158 , 37 , 16 , 601 ,752};//40

findLow(3, target);

}

}

css的伪类和伪元素在我们平常的工作中有着很广泛的应用,比如:hover、:active、:after等等,但是大部分人可能并不清楚伪类和伪元素的具体区别,所以我们今天来简单的梳理一下。

css伪类的定义

由于css21中伪类和伪元素的定位并无区别,所以我们直接引用css3中对于伪类的定义(引入来源w3c)

定义:

引入伪类概念是用于选择不存在于DOM树中的信息或那些不能够通过常规css选择器得到的信息。(比如:hover,:active就属于不在于dom中的信息,nth-child()属于不能够通过常规css选择器得到的信息)

伪类由“冒号”(:)+伪类的名称和伪类括号内的可选参数组成。(伪类括号内的可选参数指:nth-child(n)里的n)

所有的常规选择器都可以在任何位置使用伪类。伪类名称不区分大小写。一些伪类是互斥的,另一些伪类可以同时应用于同一个元素。为了满足用户在 *** 作DOM时产生的DOM结构改变,伪类可以是动态的。

css伪元素的定义

定义:

伪元素用于创建和访问文档中不存在的抽象元素。例如,文档语言不提供访问元素内容的第一个字母或第一行的机制。使用伪元素可以访问到这些。伪元素还可以让我们访问文档中原本不存在的抽象元素(例如,::before和::after)。

伪元素由两个冒号(::)后跟伪元素的名称组成。

::两个冒号这种格式,是为了区别伪类和伪元素。与现有样式表的兼容性,考虑到兼容性有部分伪元素可以同时使用1个或者2个冒号,(即:first-line,:first-letter,:before和:after)。对于css3中引入的新伪元素,则必须要使用2个冒号。

每个选择器只能出现一个伪元素,并且伪元素要位于选择器的后面。注意:此规范的未来版本可能允许每个选择器使用多个伪元素。

css伪类和伪元素的区别

伪类和伪元素的语法结构不同,伪类为冒号(:)加伪类名称,伪元素为两个冒号(::)加伪元素名称,不过为了考虑兼容性(css21中伪类和伪元素都是一个冒号),部分伪元素也支持一个冒号的写法,例如(:after,:before,:first-line,:first-letter)。

一个选择器只能使用一个伪元素,但是可以使用多个伪类。

伪类和伪元素的优先级不同,大部分伪类为0-1-0,伪元素则为0-0-1。参考 css选择器的优先级 >

以上就是关于深入理解nth-child和nth-of-type全部的内容,包括:深入理解nth-child和nth-of-type、如何执行NTH的主题(Nokia n系列的)、css中如何用nth-child选中指定元素等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9591242.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存