Open sleepyShen1989 opened 1 year ago
:nth-child:
:nth-child
:nth-of-type:
:nth-of-type
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <style> /* #aa > div:nth-child(1): #aa中的子元素 且第一个元素是div */ /* 如果使用标签选择器,建议添加>符号指定选择器层级 该demo如果不指定层级,则child div也会是蓝色 */ #aa > div:nth-child(1){ color: blue } /* #aa div:nth-child(1): #aa中的子元素 且第二个元素是div */ /* 因为第二个元素不是div,则该样式失效 */ #aa > div:nth-child(2){ color: red } /* div7成功改变了颜色,说明nth-child只对同级元素有效 */ #aa > div:nth-child(7){ color: greenyellow } /* 按选择器进行分类,所有div为一类,第二个div改变背景色 */ #aa > div:nth-of-type(2){ background-color: red } /* #aa > .b:nth-of-type(2) #aa下所有子元素根据标签分为div和p两类 根据数字2 找出根据标签归类后的第二个div和p 也就是<p class="b">p3</p> 和 <div>div4<div>child div</div></div> 但是只有p标签具有对应的选择器, 所以样式只对p标签生效 */ #aa > .b:nth-of-type(2){ background-color: rgb(186, 69, 153); font-size: 30px; } #aa > .b:nth-of-type(3){ background-color: rgb(186, 69, 153); font-size: 40px; } </style> <div id="aa"> <div>div1</div> <p>p2</p> <p class="b">p3</p> <div> div4 <div>child div</div> </div> <p>p5</p> <p>p6</p> <div class="b">div7</div> <p>p8</p> <p class="b">p9</p> <div class="b">div10</div> <p>p11</p> <p class="b">p12</p> <div class="b">div13</div> <p>p14</p> <p>p15</p> <!-- 归类后 --> <!-- <div>div1</div> <div> div4 <div>child div</div> </div> <div class="b">div7</div> <div class="b">div10</div> <div class="b">div13</div> <p>p2</p> <p class="b">p3</p> <p>p5</p> <p>p6</p> <p>p8</p> <p class="b">p9</p> <p>p11</p> <p class="b">p12</p> <p>p14</p> <p>p15</p> --> </div> </body> </html>
搜索顺序
:nth-child
::nth-of-type
:demo