首页 > 其他分享 >举例说明伪类:nth-child、:first-child与:first-of-type这三者有什么不同?

举例说明伪类:nth-child、:first-child与:first-of-type这三者有什么不同?

时间:2025-01-17 09:10:12浏览次数:1  
标签:伪类 元素 li Item child first

在CSS中,伪类:nth-child:first-child:first-of-type都是用于选择特定元素的,但它们之间有一些重要的区别。下面我会详细解释这三个伪类,并通过例子来说明它们之间的不同。

  1. :nth-child(n)

:nth-child(n)伪类用于选择父元素中的第n个子元素。这里的n可以是一个具体的数字,也可以是一个公式(如2n、2n+1等),用于选择符合特定规律的子元素。

例如,li:nth-child(2)会选择每个ulol中的第二个li元素。而li:nth-child(2n)则会选择所有偶数位置的li元素。

<ul>
  <li>Item 1</li> <!-- 不会被选中 -->
  <li>Item 2</li> <!-- 会被 li:nth-child(2) 选中 -->
  <li>Item 3</li> <!-- 不会被选中 -->
  <li>Item 4</li> <!-- 会被 li:nth-child(2n) 选中 -->
</ul>
  1. :first-child

:first-child伪类用于选择父元素中的第一个子元素。这个伪类非常直接,只选择第一个子元素,不考虑元素的类型。

例如,li:first-child会选择每个ulol中的第一个li元素。

<ul>
  <li>Item 1</li> <!-- 会被 li:first-child 选中 -->
  <li>Item 2</li> <!-- 不会被选中 -->
  <li>Item 3</li> <!-- 不会被选中 -->
</ul>
  1. :first-of-type

:first-of-type伪类用于选择父元素中第一个特定类型的子元素。与:first-child不同,:first-of-type会考虑元素的类型。

例如,li:first-of-type会选择每个ulol中的第一个li元素,即使它不是列表中的第一个子元素(比如前面有其他的非li元素)。

<ul>
  <div>Some other element</div> <!-- 不会被选中 -->
  <li>Item 1</li> <!-- 会被 li:first-of-type 选中,因为它是第一个 li 元素 -->
  <li>Item 2</li> <!-- 不会被选中 -->
</ul>

总结:

  • :nth-child(n)通过位置来选择子元素,可以指定具体的数字或使用公式。
  • :first-child直接选择第一个子元素,不考虑类型。
  • :first-of-type选择第一个特定类型的子元素,即使它不是第一个子元素。

标签:伪类,元素,li,Item,child,first
From: https://www.cnblogs.com/ai888/p/18676154

相关文章

  • css3的:nth-child和:nth-of-type的区别是什么?
    在CSS3中,:nth-child()和:nth-of-type()是两个功能强大的伪类选择器,它们都允许你选择一组元素中的特定元素,但它们的选择机制有所不同。:nth-child():nth-child()选择器是基于元素在其父元素中的位置(即它是第几个子元素)来选择元素的。这个选择器的计数是从1开始的,而且它会考......
  • CSS3新增伪类有哪些并简要描述
    CSS3新增的伪类包括多种,它们为前端开发者提供了更多的选择和灵活性,以便更好地控制页面元素的样式。以下是一些CSS3中新增的重要伪类及其简要描述::nth-child(n):此伪类允许开发者根据元素在父元素中的位置来选择元素。例如,:nth-child(2)会选择父元素中的第二个子元素,不论其类型。......
  • PyQ5中findChild() 方法,为什么是none
    第一个代码是kimi生成的,调用findchild方法可以使用;第二个调用findchild是none,为什么?importsysfromPyQt5.QtWidgetsimportQApplication,QMainWindow,QLineEditclassMainWindow(QMainWindow):def__init__(self):super().__init__()self.setGeom......
  • 根据相关算法对FIRSTVT或LASTVT进行求解(编译原理与技术)
    实验名称FIRSTVT与LASTVT的求解。实验内容根据相关算法对FIRSTVT或LASTVT进行求解。实验目的根据实验内容编写程序,上机调试、得出正确的运行程序,掌握FIRSTVT和LASTVT的求解方法,了解其求解过程。上机环境设计思想(流程)FIRSTVT找FIRSTVT的三条规则:如果要找A的FIRSTVT,A的......
  • Angular 中使用 ChildContent 记录
    记录一下学习使用ChildContent的试验代码,用的是Angular19。AppComponent是parentcomponent,SidebarComponent是childcomponent,SidebarBlogCategoriesComponent是projectedcomponent。代码1:使用ng-content在childcomponent中显示projectedcomponent的内容......
  • Head First 设计模式(中文版)PDF、EPUB免费下载
    电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍点击原文去下载书籍信息作者:ElisabethFreeman//EricFreeman/BertBates/KathySierra/ElisabethRobson/[美]MaryEleanorFreeman出版社:中国电力出版社译者:O'ReillyTaiwan公司出......
  • 一篇文章带你学会css中的伪类和伪元素
    我们在写页面的时候,为了美化页面,肯定会使用css样式进行美化,美化的过程中我们会经常使用伪类和伪元素,接下来来说说这两者的定义,常见的使用,在什么场景使用,二者有有什么区别一、伪类(1)定义“伪类主要用于定义元素的特殊状态。它们不是类,而是表示了元素处于特定状态时的样式变化......
  • Coding Our First Neurons
    Chapter1:IntroducingNeuralNetwork声明:本篇博客笔记来源于《NeuralNetworksfromscratchinPython》,作者的youtube其实关于神经网络的入门博主已经写过几篇了,这里就不再赘述,附上链接。1.一文窥见神经网络2.神经网络入门(上)3.神经网络入门(下)Chapter2:C......
  • 用仓颉完成编译原理实验-消除左递归和左公共因子,求FIRST集和FOLLOW集
    目录实验目的实验内容实现消去上下文无关文法中所有左递归的算法实现从上下文无关文法中提取左公共因子的算法实现求解上下文无关文法的FIRST集和FOLLOW集的算法设计方案与算法描述设计文法的数据结构实现消去上下文无关文法中所有左递归的算法实现从上下文无关文法中......
  • 你有使用过css中的:is伪类吗?说说它的用途?
    CSS中的:is()伪类是一个功能强大的选择器,它允许你在一个选择器中匹配多个元素,而无需重复整个选择器或使用逗号分隔的列表。:is()伪类提供了一种更简洁、更可读的方式来编写复杂的CSS选择器。在:is()伪类之前,如果你想为多个元素应用相同的样式,你可能需要这样做:h1.title,......