一文弄懂CSS` :x-child `和` :x-of-type `选择器


一、 :x-child选择器

重点在于 child 子元素,按照子元素顺序选择。

图片预览

1. :first-child

匹配同时满足以下两个条件的元素标签:

① 是div元素的第一个子元素;

② 该子元素是 p 元素。

div p:first-child
{ 
    background-color:yellow;
}

2. :last-child

匹配同时满足以下两个条件的元素标签:

① 是div元素的最后一个子元素;

② 该子元素是 p 元素。

div p:last-child
{ 
    background-color:yellow;
}

3. :only-child

匹配同时满足以下两个条件的元素标签:

h2元素只有一个子元素;

② 该子元素是 span 元素。

h2 span:only-child {
  background-color: gold;
}

4. :nth-child(n)

匹配同时满足以下两个条件的元素标签:

① 元素标签的class类名为box的第三个子元素;

② 该子元素是 li 元素。

.box li:nth-child(3) {
  background-color: red;
}

5. 实例

可自行创建HTML文件,对应学习!




  
  
  Document
  


  

第一个 Ul 列表

    0

  • 1
  • 2
  • 3-1
  • 3-2

  • 4
  • 5

  • 6

第二个 Ul 列表

p元素

二、:x-of-type选择器

重点在于 type 类型,只在类型一致的子元素中找。

1. :first-of-type

匹配 ul元素的子元素中的第一个 li元素

ul li:first-of-type {
  background-color: rosybrown;
}

2. :last-of-type

匹配 ul元素的子元素中的最后一个 li元素

ul li:last-of-type {
  background-color: chartreuse;
}

3. :only-of-type

匹配 div元素的唯一子元素是 p元素

div p:only-of-type {
  font-size: 24px;
  color: darkblue;
}

4. :nth-of-type(n)

匹配 div元素的第二个p子元素

div p:nth-of-type(2) {
  font-size: 24px;
  color: darkblue;
}

5. 实例




  
  
  Document
  


  

    0

  • 1
  • 2
  • 3-1
  • 3-2

  • 4
  • 5

  • 6

  • a
  • 11
  • b
  • c
  • dddd

  • f
  • 22
  • g
CSS