伪类 分为:状态伪类和结构性伪类
状态伪类(根据不同的状态展现不同的样式)如:
- :hover
- :link
- :active
- focus
结构性伪类(通过文档结构的关系来匹配DOM元素)如:
- :first-child
- :last-child
- :nth-child
- nth-last-child
伪元素(创建一个有内容的虚拟容器,需要配合content属性使用,对元素中的特定内容进行CSS渲染层操作,不存在于DOM元素中,无法通过 js 操作)如:
- ::after
- ::before
- ::first-letter
- ::first-line
伪类,通过添加一个类样式去实现效果
伪元素,通过添加一个元素,再添加样式去实现效果
CSS3中,伪类使用单引号,伪元素使用双引号,可更好的区分两者
若考虑其兼容性,可都使用单引号