伪类选择器:first-child和:nth-child()和:first-of-type

x:first-child和x:nth-child(1)功能一样,首先选中的是x元素,并且x元素必须是它父元素的第一个子元素,选择器才成立,否则不能选中。其中x也可以是选择器。由此看出nth-child功能强劲,完全可以代替first-child的功能。nth-last-child和nth-child的区别就是反向查找

x:first-of-type,选择x元素的父元素的首个 x元素,但x不一定是它父元素的第一个子元素,x也不一定是标签选择器,也可以是id选择器、类选择器等。同理nth-of-type(1)可实现first-of-type的功能,nth-of-type和nth-last-of-type的区别也是反向查找

 x:only-child选择是独生子女的x(父元素只有一个子元素就是x)

x:only-of-type选择是父元素的子元素中唯一的x(父元素可能有多个子元素但x元素只有一个)

 

<!DOCTYPE html>
<html>
<head>
<style> 
p:first-of-type
{
background:#ff0000;
}
/*body的第一个子元素是h1不是p,但body的第一个p子元素是存在的,所以first-of-type能选中,如果换成firs-child或者nth-child(1)就不行了*/

</style>
</head>

<body>
<h1>这是标题</h1>
<p>这是第一个段落。</p>
<p>这是第二个段落。</p>
<p>这是第三个段落。</p>
<p>这是第四个段落。</p>

</body>
</html>

  http://www.w3school.com.cn/cssref/css_selectors.asp

posted on 2017-06-26 17:56  灵剑丹心  阅读(299)  评论(0编辑  收藏  举报

导航