伪类和伪元素的区别

  • admin 发布于 2016-09-28 12:48:17
  • 栏目:网站前端
  • 来源:互联网
  • 254 人围观
  • 9 个赞

一、伪类和伪元素的区别

1、伪类种类

2、伪元素种类

(1)伪类作用对象是整个元素

例如:

1
2
3
4
5
6
7
8
a:link
 {color:#111}
a:hover
 {color:#222}
div:first-child
 {color:#333}
div:nth-child(3)
 {color:#444}

尽管这些条件不是基于DOM的,但结果每一个都是作用于一个完整的元素,比如整个链接,段落,div等等。

(2)伪元素作用于元素的一部分

1
2
3
4
5
6
7
p::first-line
 {color:#555}
p::first-letter
 {color:#666}
a::before
 {content : "hello
 world";}

(3)伪元素作用于元素的一部分:一个段落的第一行或者第一个字母。

总结:伪元素其实相当于伪造了一个元素,例如before,first-letter达到的效果就是伪造了一个元素,然后添加了其相应的效果而已;而伪类没有伪造元素,例如first-child只是给子元素添加样式而已。

伪元素和伪类之所以这么容易混淆,是因为他们的效果类似而且写法相仿,但实际上 css3 为了区分两者,已经明确规定了伪类用一个冒号来表示,而伪元素则用两个冒号来表示。

但因为兼容性的问题,所以现在大部分还是统一的单冒号,但是抛开兼容性的问题,我们在书写时应该尽可能养成好习惯,区分两者。

评论

  • 赚大钱啦 (2017-01-04 17:16:25) 说:
    不错,学到一些实在的东西
  • 小白 (2016-09-28 16:54:07) 说:
    谢谢,很好的学习了伪类与伪元素