CSS选择器4
HTML
<div class="first">
<p>
因为我是第一个孩子,所以我的颜色变了
</p>
<div>
<p>
因为我是div的第一个孩子,所以我的颜色也变了
</p>
<p>
因为我不是div的第一个孩子,所以我的颜色不变
</p>
</div>
<p>
因为我不是.first的第一个孩子,所以我的颜色也不变
</p>
<section>
<p>
因为我是section的第一个孩子,所以我的颜色也变了
</p>
</section>
</div>
<div class="second">
<p>
我(first-letter)是测试的第一行,所以我的颜色应该会变化的我是第二行,不会变颜色的我是第二行,不会变颜色的我是第二行,不会变颜色的我是第二行,不会变颜色的我是第二行,不会变颜色的我是第二行,不会变颜色的
</p>
</div>
<div class="third">
<p>这里在p标签前面添加Before这个单词,然后后面添加After这个单词</p>
</div>
<div class="fourth">
<p>
因为我不是。fourth的最后个孩子,所以我的颜色不会变
</p>
<div>
<p>
因为我是div的第一个孩子,所以我的颜色不会变
</p>
<p>
因为我是div的最后一个孩子,所以我的颜色会变
</p>
</div>
<p>
因为我不是.fourth的最后一个孩子,所以我的颜色不会变
</p>
<section>
<p>
因为我是section的最后一个孩子,所以我的颜色也变了
</p>
</section>
</div>
<div class="fifth">
<p>
因为我是div的第一个孩子,所以我的颜色不会变
</p>
<p>
因为我是div的第二个孩子,所以我的颜色会变p:nth-child(2)
</p>
<p>
因为我是div的第三个孩子,所以我的颜色不会变
</p>
</div>
<div class="sixth">
<p>
因为我是div的倒数第四个孩子,所以我的颜色不会变
</p>
<p>
因为我是div的倒数第三个孩子,并且是p标签,所以我的颜色会变p:nth-last-child(3)
</p>
<div>
虽然我是div的倒数第二个孩子,但是我不是p标签,所以颜色不变p:nth-last-child(2)
</div>
<p>
因为我是div的倒数第一个孩子,所以我的颜色不会变
</p>
</div>
<div class="seventh">
<p>
虽然我是p标签的同级兄弟,但我的顺序是1,所以颜色不变
</p>
<p>
虽然我是p标签的同级兄弟,但我的顺序是2,所以颜色不变
</p>
<div>
虽然我是p标签的同级兄弟,但我的类型和p标签不一样,所以颜色不变
</div>
<p>
因为我是同类型p的同级兄弟第三个,所以我的颜色会变p:nth-of-type(3)
</p>
</div>
<p>后面的nth-last-of-type(n)/first-of-type/last-of-tye都是类似的</p>
<div class="eighth">
<div>
<p>
我的父元素div只包含我这个子元素p,所以我的颜色会变 p:only-child
</p>
</div>
<div>
<p>
我的父元素div包含两个子元素p,所以我的颜色不会变
</p>
<p>
我的父元素div包含两个子元素p,所以我的颜色不会变
</p>
</div>
</div>
<div class="nineth">
<div>
<p>
我的父元素div包含两个同类型的子元素p,所以我的颜色不会变
</p>
<p>
我的父元素div包含两个同类型的子元素p,所以我的颜色不会变
</p>
</div>
<div>
<p>
我的父元素div只包含一个同类型的子元素p,所以我的颜色会变
</p>
<section>
...
CSS
:root
{
background: rgba(10, 10, 10, 0.2);
}
.first p:second-child{
color: blue;
}
.second p:first-line{
color: #0F0;
}
.second p:first-letter{
color: #00F;
}
.third p:before{
content: 'Before';
color: #888;
}
.third p:after{
content: 'After';
color: #666;
}
.fourth p:last-child{
color: #F00;
}
.fifth p:nth-child(2){
color: #FF90AA;
}
.sixth p:nth-last-child(2){
color: #FF0011;
}
.sixth p:nth-last-child(3){
color: #FF0011;
}
.seventh p:nth-of-type(3){
color: #11AA11;
}
.eighth p:only-child{
color: #00EEAA
}
.nineth p:only-of-type{
color: #A010AA
}
.tenth div:empty{
border: 1px solid #000;
height: 20px;
width: 100%
}