一,伪类
1.通用伪类
(1):hover
悬浮显示样式
(2):active
当被激活时显示样式
(3):first-child
作用于该元素(:前的元素)的父元素的第一个子元素
(4):last-child
作用于该元素(:前的元素)的父元素的最后一个子元素
(5):nth-child(n)
作用于该元素(:前的元素)的父元素的第n
个子元素,n
从0
开始
(6):first-of-type
作用于该元素同类型元素的第一个元素
(7):last-of-type
作用于该元素同类型元素的最后一个元素
(8):nth-of-type(n)
作用于该元素同类型元素的第n
个元素,n
从0
开始,支持表达式。例如:last-of-type(2n)
作用于2
的倍数的元素
(9):first-letter
作用于块级元素的首字母
(10):lang(en)
根据元素的lang
属性,来编写指定样式
2.超链接伪类
(1):visited
访问后过得链接样式
(2):link
点击之前的样式
3.表单伪类
(1):focus
表单聚焦时的样式
4.注意,nth-child
和nth-of-type
的区别,nth-child
不区分同类型,只从子元素开始数,nth-of-type
从相同类型的子元素开始数
二,伪元素
1.用于创建一些不在文档树中的元素,并为其添加样式
::before
: 在元素内容之前添加元素
::after
在元素内容之后添加元素
2.注意事项
(1)两者添加的元素默认是行内元素,想要设为其他类型的元素,必须手动更改
(2)必须包含有content
,content
可以是图片,字符等,若无需content
也需设置成''
,
(3)伪元素相当于一个元素,具有盒模型和定位等普通元素所有的操作。且行为相同