CSS 伪类和伪类都是用于向某些选择器添加特殊效果的。其实他们起着和class、元素同样的功能但又是基于文档之外的抽象,所以称为伪类和伪元素。
伪类是基于当前元素所处的状态,或说当前的特性。由于状态是会变的,所以样式也会从一个状态到另一个状态,所以说是一个伪类的样式。
CSS2中伪类包括:active :focus :hover :link :visited :first-child :lang,具体代表什么就不细说了。
刚刚在测试的时候发现一个特别奇怪的现象,要想p:first-child正确起效,它的p必须被完整的包裹起来,前面不能有其他元素,也就是说需要把所有p用div包裹起来,否则就会出错。 自己写代码的时候可以注意一下。
自己来试试吧!演示:
伪元素是针对元素中的特定内容的,像元素第一个字、第一行还有内容前后。
伪元素有:first-letter :first-line :before :after
演示:
:before和::before 顺便提一下,为了区分伪类和伪元素,在CSS3中用::代替:(像::before)表示伪元素。