LJN*_*nDk 7 css css-selectors css3
为什么CSS3同时具有一个:first-child和:nth-child()伪类选择器?
我很好奇这一点是什么:first-child,不应该:nth-child(1)选择完全相同的东西?
让两个伪类选择器做同样的事情对我来说似乎很奇怪,我能看到的唯一原因:first-child就是一个字符少了一个字符,但这是以牺牲另外一个伪类选择器为代价的.
我认为这仅仅是因为CSS标准的演变.
first-child是一个CSS Level 2选择器nth-child是CSS Level 3选择器CSS2不会因为CSS3的存在而突然变得过时.从CSS3规范:
本文档描述了CSS1和CSS2中已存在的选择器,并进一步介绍了CSS3和其他可能需要它们的语言的新选择器.
如果我没有弄错的话,它:first-child被添加到CSS2中,而:nth-child()在CSS3中被添加 - 可能"建立在"前面提到的伪类上.
在旁注中,:first-child将在IE7中工作,而:nth-child(1)不会这样,他们并不总是选择完全相同的东西.
来源
http://www.sitepoint.com/web-foundations/css3-pseudo-classes/ http://www.w3.org/TR/CSS21/selector.html#first-child