div:first-child和div:first-of-type的作用和區別

div:first-child,先找到div元素,看看它是不是父元素的長子,如果是,那么就匹配之。

div:first-of-type,先找到div元素,看看它是不是父元素的第一種標簽類型,如果是,那么匹配之。

舉個例子,有如下代碼:

<body>
<div class="title">
  <h1 class="css">h1</h1>
  <h2 class="css">h2</h2>
  <div>
    <h3 class="css">h3</h3>
  </div>
  <p class="css">p1</p>
  <p class="css">p2</p>
  <h2 class="css">h2#</h2>
</div>
</body>

我的CSS寫成

.css:first-child{
  color: red;
}

這時候,頁面顯示的是

Paste_Image.png

原因是,先找到class=css的所有元素,為 h1、h2、h3、p1、p2、號h2#,然后一個一個看它們是不是父元素的第一個子元素,符合要求的有 h1、h3,匹配之,變紅色。

假如CSS寫成

.css:first-of-type{
  background: yellow;
}

那么頁面顯示的是

Paste_Image.png

p2、h2# 沒有被選中的原因:

  • p2的父元素是<div class="title">,其第一個同類標簽的子元素是p1,所以p2沒有被選中。
  • h2#的父元素是<div class="title">,其第一個同類標簽的子元素是h2,所以h2#沒有被選中。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容