這一節,我們來給大家講解一下第3類結構偽類選擇器。
以上解釋,大家看著比較難懂,需要結合一下實例才能真正理解。
<div> <h1></h1> <p></p> <span></span> <span></span> </div>
h1:first-child:選擇的是h1元素,因為h1元素是div的第1個子元素。
p:first-child:選擇不到任何元素,因為p並不是div的第1個子元素,而是div的第2個子元素。
span:first-child:選擇不到任何元素,因為span並不是div的第1個子元素,而是div的第3個子元素;
h1: first-of-type:選擇的是h1元素,因為h1元素是div中所有h1元素中的第1個h1元素,事實上也只有一個為h1的子元素;
p: first-of-type:選擇的是p元素,因為p元素是div中所有p元素中的第1個p元素,事實上也只有一個為p的子元素;
span: first-of-type:選擇的是id="first"的span元素,因為在div元素中有2個span元素,我們選擇的是兩個之中的第1個。
總結:
“:first-child”是選擇父元素下的第1個子元素(不區分元素類型),而“:first-of-type”是選擇父元素下某個元素類型的第1個子元素(區分元素類型)。
“:last-child”和“:last-of-type”、“nth-child(n)”和“:nth-of-type(n)”同樣也可以這樣去理解,在此不再累贅說明。
大家好好根據上面例子去理解與區分第1類結構偽類選擇器與第2類結構偽類選擇器。