不知道怎么說,直接看例子 作對比就明白了
:nth-child(n) 從父元素中選取符合條件的子元素,n可以是數(shù)字,關(guān)鍵詞,公式
:nth-of-type(n) 從父元素中選擇符合條件的指定類型的子元素,n可以是數(shù)字,關(guān)鍵詞,公式
基本代碼如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
/* 效果1 */
p:nth-child(-n+3){
background-color: #f00;
}
/* 效果2 */
body p:nth-child(-n+3){
background-color: #f00;
}
/* 效果3 */
body :nth-child(-n+3){
background-color: #f00;
}
/* 效果4 */
p:nth-of-type(-n+3){
background-color: #f00;
}
/* 效果5 */
body p:nth-of-type(-n+3){
background-color: #f00;
}
/* 效果6 */
body :nth-of-type(-n+3){
background-color: #f00;
}
</style>
</head>
<body>
<h1>這是h1</h1>
<h2>這是h2</h2>
<p>這是p1</p>
<p>這是p2</p>
<p>這是p3</p>
<p>這是p4</p>
<span>span 1</span>
<span>span 2</span>
<span>span 3</span>
<span>span 4</span>
<div>div 1</div>
<div>div 2</div>
<div>div 3</div>
<div>div 4</div>
</body>
</html>
六種效果如下:

compare.jpg
- p:nth-child(-n+3) 選擇的是 p 的父元素的前三個元素里面是 p 的元素
- body p:nth-child(-n+3) 的效果跟 p:nth-child(-n+3) 一樣 (即:加不加父元素效果一樣)
- 沒有限定條件p的話,選擇的是父元素的前三個元素
- p:nth-child(-n+3) 選擇的是 p 的父元素的前三個 p 元素
- body p:nth-child(-n+3) 的效果跟 p:nth-child(-n+3) 一樣
- body :nth-child(-n+3)的效果是選擇body里面所有類型的前三個