为什么称它为第一胎?

时间:2013-03-07 22:29:50

标签: css

我期待着一连串的选票,但是,我想知道你们的想法。

如果有,

<div>
    <p>Paragraph1</p>
    <p>Paragraph2</p>
</div>
<div>
</div>

从字面上看,我希望div:first-child选择<p>Paragraph1</p>,因为<p>Paragraph1</p>div的第一个子节点 但是,正如我们所知,它会选择html中的第一个div,简单地称之为:first:first-sibling是不是更有意义?

4 个答案:

答案 0 :(得分:3)

jQuery有一个扩展的选择器::first,请注意:first的问题是它在第一次匹配后停止查找元素,与:first-child不同,所以这里的示例为{{1}不是一个好名字。

答案 1 :(得分:2)

根据Mozilla's reference documentation(强调我的):

  

CSS伪类是添加到指定a的选择器的关键字   要选择的元素的特殊状态

伪类是现有选择器的修饰符。因此,结果必须是现有选择器匹配的子集。因此,div:first-child无法返回div以外的任何内容。

答案 2 :(得分:0)

:first-child表示它是其父级的第一个子级。我认为:首先是不够具体而且:第一兄弟......看起来与第一个孩子相当,因为两者都很模糊。

答案 3 :(得分:0)

至于为什么不:first,因为首先与什么相关?整个页面上的第一个div?就在这一节? :first-child给出了背景,无论是docuemnt,div还是ul。随你。

你所谓的'字面意思'实际上似乎是div > :first-child,因为你想在div中选择一个元素。

div:first的意思是,如果从字面上看,你遇到的第一个div。所以它永远是页面上的第一个div。

div:first-child字面意思是“它是父母的第一个孩子的div”你需要记住psuedo类描述了它们应用的元素。