:first-child&&:first-of-type

:first-child伪类表示父元素的第一个子元素。
例如:li:first-child{color:yellow}
表示父元素的第一个子元素是li的每一个颜色是黄色。

<ol>
        <li>ff</li>
        <li>dd</li>
    </ol>
    <ul>
        <li>This text will be orange.</li>
        <li>Lorem ipsum dolor sit amet. <span>This text will be orange.</span></li>
        <li>Lorem ipsum dolor sit amet.</li>
    </ul>

:first-of-type表示在:前的该容器下,所有父元素的第一个元素。
例如ul :first-of-type{color:yellow}(ul 空格:first-of-type{color:yellow})表示在ul这个容器下,所有父元素的第一个子元素颜色是黄的,同理适用于first-child

ul :first-of-type{color:yellow}
<ul>
        <li>This text will be orange.</li>
        <li>Lorem ipsum dolor sit amet. <span>This text will be orange.</span></li>
        <li>Lorem ipsum dolor sit amet.</li>
    </ul>


当没有空格时,ul:first-of-type{color:yellow},表示的是选择在父元素中第一个出现的ul,不管其在兄弟的那个地方

ul:first-of-type{color:yellow}

另外关于nth-child和nth-of-type

<section>
    <p>我是第1个p标签</p>
    <p>我是第2个p标签</p>  <!-- 希望这个变红 -->
</section>


p:nth-child(2) { color: red; }

p:nth-of-type(2) { color: red; }

对于:nth-child选择器,在简单白话文中,意味着选择一个元素如果:

这是个段落元素
这是父标签的第二个孩子元素

对于:nth-of-type选择器,意味着选择一个元素如果:

选择父标签的第二个段落子元素

同样适用于first-child和first-of-type
注意~odd表示奇数,even表示偶数,从1开始计算,不是从零开始。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容