css中的first-child nth-child nth-last-child() 和:nth-of-type(n)

来源:互联网 发布:unity3d 平移代码 编辑:程序博客网 时间:2024/06/05 10:50

先看定义 

:nth-of-type(n) 选择器匹配属于父元素的特定类型的第 N 个子元素的每个元素.

:nth-child(n) 选择器匹配属于其父元素的第 N 个子元素,不论元素的类型。

看两者的差异就能大致明白了,nth-dhild在执行匹配的时候,不会注重特定的类型,而nth-of-type()则会匹配指定的类型,看下面的两个例子能解释一切

<!DOCTYPE html><html><head><style> p:nth-child(2){background:#ff0000;}</style></head><body><h1>这是标题</h1><p>第一个段落。</p><p>第二个段落。</p><p>第三个段落。</p><p>第四个段落。</p><p><b>注释:</b>Internet Explorer 不支持 :nth-child() 选择器。</p></body></html>
对应的页面展示为

n

p:nth-child(2)  根据定义:选择器匹配属于其父元素的第 N 个子元素,不论元素的类型      则匹配的顺序是,第一个 <h1>这是标题</h1>   第二个:<p>第一个段落。</p>  所以第二个标红了

如果我们用p:nth-of-type,则不会去处理h1标签,只会关注特定类型p 

<!DOCTYPE html><html><head><style> p:nth-of-type(2){background:#ff0000;}</style></head><body><h1>这是标题</h1><p>第一个段落。</p><p>第二个段落。</p><p>第三个段落。</p><p>第四个段落。</p><p><b>注释:</b>Internet Explorer 不支持 :nth-child() 选择器。</p></body></html>

展示的效果如下图:

以上就是这两个的主要区别了





0 0