基本概念
伪类(不存在的类,特殊的类):伪类用来描述一个元素的特殊状态。比如:第一个子元素、被点击的元素、鼠标移入的元素…
写法:伪类一般情况下都是使用:开头。
常用的几种 :
1、:first-child 第一个子元素
:last-child 最后一个子元素
:nth-child() 选中第n个子元素
特殊值:
n 第n个 n的范围0到正无穷
2n 或 even 表示选中偶数位的元素
2n+1 或 odd 表示选中奇数位的元素
以上这些伪类都是根据所有的子元素进行排序。
2、 :first-of-type
:last-of-type
:nth-of-type()
这几个伪类的功能和上述的类似,不通点是他们是在同类型元素中进行排序。
3、:not() 否定伪类
将符合条件的元素从选择器中去除。
实例代码演示
HTML主体代码:
<ul>
<li>第〇个</li>
<li>第一个</li>
<li>第二个</li>
<li>第三个</li>
<li>第四个</li>
<li>第五个</li>
</ul>
演示实例1的代码:
ul > li:first-child{
color: red;
}
演示结果:
ul > li:last-child{
color: red;
}
ul > li:nth-child(2n){
color: red;
}
ul > li:nth-child(even){
color: red;
}
ul > li:nth-child(2n+1){
color: red;
}
ul > li:nth-child(odd){
color: red;
}
对实例1进行补充说明,:nth-child()是根据所有的子元素进行的,如果HTML中的主体代码如下方所示,那么设置第一个li的样式就不会出现效果,因为第一个ul的第一个 子元素是span。
<ul>
<span>我是一个span</span>
<li>第〇个</li>
<li>第一个</li>
<li>第二个</li>
<li>第三个</li>
<li>第四个</li>
<li>第五个</li>
</ul>
CSS代码以 :first-child为例:
ul > li:first-child{
color: red;
}
显示效果如下:
演示实例2的代码:
:nth-of-type()是针对同类型的,以上方最后实验代码再次进行实验就会有如下结果:
ul > li:first-of-type{
color: red;
}
演示实例3的代码:
同类型:
ul > li:not(:nth-of-type(3)){
color: yellowgreen;
}
不同类型:
ul > li:not(:nth-child(3)){
color: yellowgreen;
}