我不能告诉之间的区别element:first-child
和element:first-of-type
例如说,您有一个div
div:first-child
→ <div>
作为其父级的第一个孩子的所有元素。
div:first-of-type
→所有<div>
元素都是<div>
其父元素的第一个元素。
这似乎完全一样,但是它们的工作方式不同。
有人可以解释一下吗?
父元素可以具有一个或多个子元素:
<div class="parent">
<div>Child</div>
<div>Child</div>
<div>Child</div>
<div>Child</div>
</div>
在这些孩子中,只有一个可以成为第一个。与之匹配:first-child
:
<div class="parent">
<div>Child</div> <!-- :first-child -->
<div>Child</div>
<div>Child</div>
<div>Child</div>
</div>
:first-child
和之间的区别:first-of-type
是,:first-of- type
它将匹配其元素类型的第一个元素,该元素类型在HTML中由其标记名表示, 即使该元素不是parent的第一个子元素也是如此
。到目前为止,我们正在查看的子元素全部为div
s,但是请耐心等待,我将稍作介绍。
就目前而言,反过来也成立:任何事情:first-child
都是:first-of- type
必要的。由于这里的第一个孩子也是第一个孩子div
,它将匹配 两个 伪类以及类型选择器div
:
<div class="parent">
<div>Child</div> <!-- div:first-child, div:first-of-type -->
<div>Child</div>
<div>Child</div>
<div>Child</div>
</div>
现在,如果您将第一个孩子的类型从更改为div
其他名称,例如h1
,它将仍然是第一个孩子,但div
显然不再是第一个孩子。相反,它成为第一个(也是唯一一个)h1
。如果div
在同一个父对象中的第一个孩子之后还有其他元素,则这些div
元素中的第一个将匹配div:first- of-type
。在给定的示例中,在第div
一个孩子更改为之后,第二个孩子成为第一个孩子h1
:
<div class="parent">
<h1>Child</h1> <!-- h1:first-child, h1:first-of-type -->
<div>Child</div> <!-- div:nth-child(2), div:first-of-type -->
<div>Child</div>
<div>Child</div>
</div>
请注意,这:first-child
等效于:nth-child(1)
。
这也意味着,尽管任何元素一次只能具有一个匹配的子元素:first-child
,但与:first-of- type
伪类匹配的子元素数目可以和将会具有的子元素数目一样多。在我们的示例中,选择器.parent > :first-of- type
(具有隐式*
限定:first-of-type
伪数)将匹配 两个 元素,而不仅仅是一个:
<div class="parent">
<h1>Child</h1> <!-- .parent > :first-of-type -->
<div>Child</div> <!-- .parent > :first-of-type -->
<div>Child</div>
<div>Child</div>
</div>
对于:last-child
和:last-of-type
::last-child
也是同样的道理:last-of-type
,因为必然没有任何其他元素在其父元素之内,因此任何也是必要的。但是,因为最后一个div
也是最后一个孩子,所以h1
即使它是最后一个孩子,也不能成为最后一个孩子。
:nth-child()
与:nth-of-type()
任意整数参数(如上述:nth-child(1)
示例)一起使用时,和原理上的功能非常相似,但它们之间的区别在于匹配的元素的潜在数量:nth-of-type()
。这在详细覆盖的第n个孩子(2)和P:第n-的式(2)什么是P之间的区别?
本文向大家介绍举例说明伪类:nth-child、:first-child与:first-of-type这三者有什么不同?相关面试题,主要包含被问及举例说明伪类:nth-child、:first-child与:first-of-type这三者有什么不同?时的应答技巧和注意事项,需要的朋友参考一下 :nth-child(n): 选择当前元素的父元素下的第n个子元素(从1开始) :nth-of-type
描述 (Description) :first-child伪类用于向一个元素添加特殊效果,该元素是某个其他元素的第一个子元素。 要使:IE中的第一个孩子工作必须在文档顶部声明。 请注意 - 伪类名称不区分大小写。 伪类与CSS类不同,但它们可以组合在一起。 例子 (Example) 例如,要缩进所有元素的第一段,您可以使用此定义 - <html> <head> <style ty
本文向大家介绍css3的:nth-child和:nth-of-type的区别是什么?相关面试题,主要包含被问及css3的:nth-child和:nth-of-type的区别是什么?时的应答技巧和注意事项,需要的朋友参考一下 :nth-child(n) 选择器匹配属于其父元素的第 N 个子元素,不论元素的类型。 :nth-of-type(n) 选择器匹配属于父元素的特定类型的第 N 个子元素。 n
Question lintcode: First Position of Target Problem Statement For a given sorted array (ascending order) and a target number, find the first index of this number in O(log n) time complexity. If the ta
Overview The goal of this tutorial is to introduce you in writing and subsequently generating effective documentation with phpDocumentor. Writing a DocBlock A DocBlock is a piece of inline documentati
本文向大家介绍::first-letter有什么应用场景?相关面试题,主要包含被问及::first-letter有什么应用场景?时的应答技巧和注意事项,需要的朋友参考一下 段落首字放大效果