蓝鸥旗下品牌: 鸥课学院
全国咨询电话:13152008057
武汉
您的位置: 首页 > 最新资讯 > 关于CSS伪类与伪元素的定义与区别

关于CSS伪类与伪元素的定义与区别

2022-08-30 蓝鸥
3720人 浏览:

 估计很多朋友不是很清楚css的伪类和伪元素, 蓝鸥武汉HTML5培训小编今天谈谈什么是伪类,什么是伪元素。关于css伪类和为元素的区别。

55dbca0c40d6f.jpg

官方解释
      伪类一开始单单只是用来表示一些元素的动态状态,典型的就是链接的各个状态(LVHA)。随后CSS2标准扩展了其概念范围,使其成为了所有逻辑上存在但在文档树中却无须标识的“幽灵”分类。

伪元素则代表了某个元素的子元素,这个子元素虽然在逻辑上存在,但却并不实际存在于文档树中。

       伪元素实际上在CSS1中就存在了,但是现在蓝鸥武汉HTML5培训小编要跟大家所讨论的:before和:after则发布于CSS2.1中。在最初,伪元素的语法是使用“:”(一个冒号),随着web的发展,在CSS3中修订后的伪元素使用“::”(两个冒号),也就是::before 和 ::after—以区分伪元素和伪类(比如:hover,:active等)

双冒号(::)和单冒号(:)的区别

所有支持CSS3的双冒号(::)语法的浏览器都会支持单冒号(:)语法,但IE8只支持单冒号。建议只使用单冒号,以获得最佳的浏览器支持。

双冒号(::)是一种CSS3新语法,是用来将伪元素选择器和伪元素区别开。如果不需要IE8支持,就用双冒号(::)吧。

下面我们来看看具体来看看两者的定义

伪类

伪类选择元素基于的是当前元素处于的状态,或者说元素当前所具有的特性,而不是元素的id、class、属性等静态的标志。由于状态是动态变化的,所以一个元素达到一个特定状态时,它可能得到一个伪类的样式;当状态改变时,它又会失去这个样式。由此可以看出,它的功能和class有些类似,但它是基于文档之外的抽象,所以叫伪类。

:link

伪类将应用于未被访问过的链接,与:visited互斥。

:hover

伪类将应用于有鼠标指针悬停于其上的元素。

:active

伪类将应用于被激活的元素,如被点击的链接、被按下的按钮等。

:visited

伪类将应用于已经被访问过的链接,与:link互斥。

注意:需要注意的是在CSS的定义中,同一个元素的:hover必须位于:link、:visited之后才能生效,:active必须位于:hover之后才能生效。

伪元素

与伪类针对特殊状态的元素不同的是,伪元素是对元素中的特定内容进行操作,它所操作的层次比伪类更深了一层,也因此它的动态性比伪类要低得多。实际上,设计伪元素的目的就是去选取诸如元素内容第一个字(母)、第一行,选取某些内容前面或后面这种普通的选择器无法完成的工作。它控制的内容实际上和元素是相同的,但是它本身只是基于元素的抽象,并不存在于文档中,所以叫伪元素。

:first-letter

伪元素的样式将应用于元素文本的第一个字(母)。

:first-line

伪元素的样式将应用于元素文本的第一行。

:before

在元素内容的最前面添加新内容。

:after

在元素内容的最后面添加新内容。

:before和:after通常与CSS内容生成配合使用。

以上就是关于CSS伪类与伪元素的定义与区别。蓝鸥武汉培训中心,专注于Java培训,HTML5培训,PHP培训,UI培训,AR/VR培训等高端IT培训,顶级师资授课,真实项目实战,名企高薪就业。


  1. Lua编程及Tolua框架快速上手
  2. PHP语法基础
  3. Angular2最全首发
  4. JavaScript面向对象