CSS中nth-child与nth-of-type的元素查找方式是什么
本文小编为大家详细介绍"CSS中nth-child与nth-of-type的元素查找方式是什么",内容详细,步骤清晰,细节处理妥当,希望这篇"CSS中nth-child与nth-of-type的元素查找方式是什么"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
nth-child和nth-of-type是css的两个伪选择符。应用中,这两者常常容易混淆。这里把它们拿出来仔细做个对比,看看这两者是怎么查找元素的。
nth-child(n) —— 寻找第n个子元素
nth-of-type(n) —— 寻找同一类型元素里的第n个元素
看这个定义也许还不是很清楚他们的区别,我们一点点来区分。
p:nth-child(2) 与 p:nth-pf-type(2)
HTML代码如下
pgh2
pgh3
pgh4
pgh5
div1
div2
div3
div4
分别应用两个样式, 都是找第二个元素
p:nth-child(2) { color: red; font-weight:bold;}h6:nth-of-type(2) { color: blue; font-weight:bold;}结果:两者都应用成功。
现在我们对HTML代码做点改动,让他们出现一些不同。我们将第一个p元素和第一个h6元素改为label,代码如下:
pgh3
pgh4
pgh5
div2
div3
div4
样式不变,这时再来看效果,发现nth-of-type(2)结果变了,这时高亮的是div3。到这里也算符合我们的逻辑。h6:nth-of-type(2)要找的是第二个h6类型的元素,也就是div3。
继续改动HTML代码。我们恢复第一个p元素和第一个h6元素,将第二个p元素和第二个h6元素改为label,样式仍保持不变,结果会怎样呢?
HTML如下:
pgh2
pgh4
pgh5
div1
div3
div4
CSS 不变:
p:nth-child(2) { color: red; font-weight:bold;}h6:nth-of-type(2) { color: blue; font-weight:bold;}结果:nth-child没有效果,nth-of-type高亮的是div3。
为什么会这样呢?
nth-child 是查找一堆兄弟元素里的第二个元素,不管那元素是什么,只要它排行老二。这里左侧div找到的是,右侧div找到的是。找到之后,再和前面的选择符进行匹配,如果匹配对了,那就应用样式。前面的选择符是p,也就是要求元素是p类型,但这里都是label,不匹配,两个元素都不会应用这个样式。
nth-of-type 是在一堆兄弟元素里找到相同HTML标记类型(Markup Type)元素中排行第二的元素。在左侧的div中,
pgh4
是p类型里排行第二的元素;在右侧的div中,div3
是h6类型里排行第二的元素。找到之后,再和前面的选择符进行匹配,如果匹配对了,那就应用样式。前面的选择符是h6, 那么只有右侧div的div3
元素应用了样式,左侧div的pgh4
则不会。所以,nth-child和nth-of-type的不同之处就是查找元素的方式不同。前者是查找兄弟元素中某个绝对位置的元素,后者是查找同类型元素中某个绝对位置的元素。相同之处是,两者都是找到元素之后再与前面的选择符进行匹配,这里的匹配方式是一样的。
稍微往下延伸,清楚了查找方式,那么不管前面的选择符怎么变,最后都是先查找到元素再与前面的选择符进行匹配。也就是说选择符与他们的查找方式没有关系。弄清楚这个就不会被不同的组合混淆了。
p:nth-child(2) 正确:查找第二个元素,且这个元素是p。错误:查找第二个为p的元素
.info:nth-child(2) 正确:查找第二个元素,且这个元素的class包含"info"。错误:查找第二个class包含"info"的元素。
p:nth-of-type(2) 查找相同HTML标记类型中排行第二的元素,且这个元素是p(或者直观的说查找第二个p类型元素)
.info:nth-of-type(2) 查找相同HTML标记类型中排行第二的元素,且这个元素的class包含"info"
读到这里,这篇"CSS中nth-child与nth-of-type的元素查找方式是什么"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
元素 类型 选择 方式 样式 应用 不同 相同 代码 结果 两个 也就是 兄弟 右侧 文章 标记 清楚 对了 位置 内容 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技企业 关于新基建和互联网科技 四川狮子座互联网科技 一五八零互联网科技 博兴的互联网电子科技公司 互联网企业和科技型企业 互联网校园科技培训 阿大互联网科技有限公司 搜狐科技互联网 明优互联网科技有限公司 科技大学互联网 每天都有哪些好的互联网科技 中国互联网有什么科技 全球科技与互联网公司市值变化 国产互联网科技公司 玉溪新华互联网科技怎么选 好易买互联网科技 亚光科技低轨卫星互联网 承德科技产业互联网平台 优雇互联网科技有限公司 互联网属科技 平安科技 互联网 兼蜜互联网科技 国外互联网科技网站 镁科技互联网资讯平台 云南省自由互联网科技有限公司 陕西彩京云互联网科技有限公司 承德科技产业互联网平台 上海旺乐尼互联网科技有限公司 科技发展第三阶段互联网时代