nth-child 和 nth-type-of 的区别

nth-child 和 nth-type-of 的区别,第1张

:nth-child和:nth-of-type都是css3的结构伪类选择器,和他们相关的还有一堆其他的结构伪类选择器,如果搞懂了这两个选择器的话,相应的也能搞懂和他们相关的其他结构伪类选择器啦。

这两个选择器,可不像我们看起来的那么简单,他们的作用相近,却又不完全一样。

定义

我们先来看下这两个选择器的定义:

:nth-child(n) 选择器匹配父元素中的第 n 个子元素,元素类型没有限制。

:nth-of-type(n)选择器匹配同类型中的第n个同级兄弟元素。

n可以是一个数字,一个关键字,或者一个公式。

写个例子看下:

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>:nth-child()和:nth-of-type()的区别</title>

<style>

.box p:nth-child(2){

color:#fff

background: orange

}

</style>

</head>

<body>

<div class="box">

<h2>我是h2标签</h2>

<p>我是.box里的第二个子元素,我是第一个p标签</p>

<p>我是.box里的第三个子元素,我是第二个p标签</p>

</div>

</body>

</html>

效果如下:

请点击输入图片描述

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>:nth-child()和:nth-of-type()的区别</title>

<style>

.box p:nth-of-type(2){

color:#fff

background: orange

}

</style>

</head>

<body>

<div class="box">

<h2>我是h2标签</h2>

<p>我是.box里的第二个子元素,我是第一个p标签</p>

<p>我是.box里的第三个子元素,我是第二个p标签</p>

</div>

</body>

</html>

效果如下:

请点击输入图片描述

一个是.box p:nth-child(2),一个是.box p:nth-of-type(2),括号里面都2,但是效果却不同。那么到底这两个选择器是什么意思呢?

分析:

我们再来看下结构:

.box的子元素有三个,第一个是h2标签,第二个和第三个是p标签。

<div class="box">

<h2>我是h2标签</h2>

<p>我是.box里的第二个子元素,我是第一个p标签</p>

<p>我是.box里的第三个子元素,我是第二个p标签</p>

</div>

.box p:nth-child(2)

.box p:nth-child(2)的效果是选择出了第一个p标签,也就是.box里的第二个子元素。

请点击输入图片描述

翻译下:

1.确定了选择的是.box元素里面的p元素。

2.选择的是.box的子元素里面àp元素à的父元素里面的à第二个子元素。

3.我们来分析下第二点到底是什么意思:”.box的子元素里面àp元素”指的是这两个元素:

请点击输入图片描述

4.“ p元素à的父元素”指的就是.box这个元素:

请点击输入图片描述

5.“ 的父元素里面的à第二个子元素”的意思就是:.box这个元素里面的第二个子元素:

6.别忘记我们第1条里面的“确定了选择的是.box元素里面的p元素”,我们确定了这个第二个元素就是p元素,因此得出的效果是:

怎么样?现在明白.box p:nth-child(2)是什么意思了吧~那我们再来看下.box p:nth-of-type(2)吧~

.box p:nth-of-type(2)

.box p:nth-of-type(2)的效果是选择出了第二个p标签,也就是.box里的第三个子元素。

翻译下:

1.确定了选择的是.box元素里面的p元素。

2.选择的是.box的子元素里面àp元素à的父元素里面的à第二个p元素。

3.我们来分析下第二点到底是什么意思:”.box的子元素里面àp元素”指的是这两个元素:

4.“ p元素à的父元素”指的就是.box这个元素:

5.“ 的父元素里面的à第二个p元素”的意思就是:.box这个元素里面的p元素里的第二个,所以这里我们就不用管其他元素,只找p元素就可以了,因此选择出的结果是:

案例中的.box p:nth-child(2)和.box p:nth-of-type(2)区别就在于是第二个子元素还是第二个p元素

其实区别很简单::nth-of-type为什么要叫:nth-of-type?因为它是以"type"来区分的。所以我们只需要找这个类型的元素,其他元素都可以视而不见。

h2创建数据库语句如下:

CREATE TABLE TEST AS SELECT * FROM CSVREAD('test.csv')//csv文件数据创建test表 CREATE TABLE TEST(ID INT PRIMARY KEY, NAME VARCHAR(255)) AS SELECT * FROM CSVREAD('test.csv')/创建test表,csv文件相应的列插入到test表相应的字段

H2数据库介绍

常用的开源数据库:H2,Derby,HSQLDB,MySQL,PostgreSQL。其中H2,HSQLDB类似,十分适合作为嵌入式数据库使用,其它的数据库大部分都需要安装独立的客户端和服务器端。

H2的优势:

1、h2采用纯Java编写,因此不受平台的限制。

2、h2只有一个jar文件,十分适合作为嵌入式数据库试用。

3、性能和功能的优势

H2比HSQLDB的最大的优势就是h2提供了一个十分方便的web控制台用于 *** 作和管理数据库内容,这点比起HSQLDB的swing和awt控制台实在好用多了。

H标签主要分为六层,H1到H6。

H1标签最重要,H6标签就是重要性最低的一个。在H标签中合理的融入关键词,有助于提高相关性。H3以下的标签相对来说已经没什么权重了,差不多和普通的文字一样。

H标签对应于文章的正常结构。文章一定会有一个标题,应该使用H标签其中包含最重要的关键词。文章中出现小标题,使用H2标签,可以包含辅助关键词或其他相关词语。如果有更小的标题,可以使用H3,在低层的标题意义也就不大了,不仅会使文章结构变得复杂,搜索引擎给予的权重也很低了,所以在SEO网站优化的过程中,文章的结构要合理安排。

典型的H标签使用结构:

什么是SEO网站优化?

第一段文字...

SEO是搜索引擎优化

扩展、解释上面h2标签中的内容......

SEO是一种技巧

扩展、解释h2标签中的内容......

当然,很多站长对于H标签的用法也是不一样的,但我们要记住:H标签在SEO网站优化中要合理的使用,如果大量的使用H1、H2标签,反而会起到反作用!


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

原文地址: http://outofmemory.cn/bake/11955523.html

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

发表评论

登录后才能评论

评论列表(0条)

保存