从W3School找到相关资料如下:

伪类:

伪类存在的意义是为了通过选择器找到那些不存在与DOM树中的信息以及不能被常规CSS选择器获取到的信息。

伪类由一个冒号:开头,冒号后面是伪类的名称和包含在圆括号中的可选参数。

任何常规选择器可以再任何位置使用伪类。伪类语法不区别大小写。一些伪类的作用会互斥,另外一些伪类可以同时被同一个元素使用。并且,为了满足用户在操作DOM时产生的DOM结构改变,伪类也可以是动态的。

伪元素:

伪元素在DOM树中创建了一些抽象元素,这些抽象元素是不存在于文档语言里的(可以理解为html源码)。比如:documen接口不提供访问元素内容的第一个字或者第一行的机制,而伪元素可以使开发者可以提取到这些信息。并且,一些伪元素可以使开发者获取到不存在于源文档中的内容(比如常见的::before,::after)。

伪元素的由两个冒号::开头,然后是伪元素的名称。

使用两个冒号::是为了区别伪类和伪元素(CSS2中并没有区别)。当然,考虑到兼容性,CSS2中已存的伪元素仍然可以使用一个冒号:的语法,但是CSS3中新增的伪元素必须使用两个冒号::

一个选择器只能使用一个伪元素,并且伪元素必须处于选择器语句的最后。

注:不排除未来会加入同时使用多个伪元素的机制。

我的理解,总结一下就是:

pseudo-classes(伪类)

  伪类选择元素主要是基于元素当前的状态,具有相当的灵活性,广泛性。当元素处于某种特殊状态时,该元素将变成特定的样式,且可同时可作用于多个具有该状态的元素。而当状态改变,其样式将不再作用于该元素。

pseudo-element(伪元素)

  伪元素是对元素中特定内容进行操作,它的操作层及灵活性都比伪类低。但正是基于此特点,它的名字才叫伪元素。伪元素的主要工作是针对元素内容的某个开头,某一行,某个字,代替了普通选择器,完成对这些特定部位的样式改变。

 

CSS 之pseudo-classes 与pseudo-element的异同的更多相关文章

  1. CSS pseudo classes All In One

    CSS pseudo classes All In One CSS 伪类 https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-classes ...

  2. 【CSS】Intermediate2:Pseudo Classes

    1.specify a state or relation to the selector selector:pseudo_class { property: value; } 2.Link 3.Dy ...

  3. css中attribute selector及pseudo class

    https://developer.mozilla.org/en-US/docs/Web/CSS/Reference#Selectors 在css3规范中,定义了以下几种类型的selector: Ba ...

  4. [CSS3] Define Form Element States with CSS Form Pseudo Classes

    Using just semantic CSS Pseudo-Classes you can help define important states for form elements that e ...

  5. [CSS] DOM Hierarchy Pseudo Classes :first-child :last-child :nth-child (demystified)

    DOM hierarchy pseudo-classes allow you to style specific elements based on where they fall in the hi ...

  6. [CSS3] Identify Interactive HTML Elements with CSS Link Pseudo Classes

    The interactive pseudo-classes for links (and buttons) allow us to make sure the user knows what ele ...

  7. CSS 笔记五(Combinators/Pseudo-classes/Pseudo-elements)

    CSS Combinators Four different combinators in CSS3 descendant selector (space) child selector (>) ...

  8. css相关 细节 优化 备忘

    <p>标签不能再包含<p>,也不能包含<div>,<div>可以包含<p> a 和 img 标签是特殊的行内元素,a标签可以包含div等,几 ...

  9. css中伪类和伪元素的区别

    转载:http://www.cnblogs.com/ihardcoder/p/5294927.html CSS3伪类和伪元素的特性和区别   前端er们大都或多或少地接触过CSS伪类和伪元素,比如最常 ...

  10. Change :hover CSS properties with JavaScript

    I need to find a way to change CSS :hover properties using JavaScript. For example, suppose I have t ...

随机推荐

  1. netty权威指南学习笔记一——NIO入门(4)AIO

    NIO2.0引入了新的异步通道的概念,并提供了异步文件通道和异步套接字通道的实现.异步通道提供以下两种方式获取操作结果. 1.通过java.util.concurrent.Future 类来表示异步操 ...

  2. web.xml的配置过程中也需要注意顺序问题

    配置WEB.XML的配置文件过程中发现: 直接红叉,鼠标放在红叉出信息如下: cvc-complex-type.2.4.a: Invalid content was found starting wi ...

  3. laravel.url

    通过php artisan route:list 可以看到当前应用的路由情况, 在前端页面中如果要修改一个实体,需要用到实体.update,涉及的uri为实体/{实体},所用的http方法为put. ...

  4. 一百零二、SAP中ALV事件之十五,让ALV表格自动求和

    一.代码如下 二.运行之后,效果如图,表头多了一个求和符号E,最下面一行会列出求和的相关信息 完美

  5. 7. 单机版Redis的安装以及Redis生产环境启动方案

    安装单机版redis redis的生产环境启动方案redis cli的使用 1. 安装单机版redis 大家可以自己去官网下载,当然也可以用课程提供的压缩包 wget http://downloads ...

  6. 实验吧-web-天下武功唯快不破(Python中byte和str的转换)

    题目:看看响应头 打开网站,既然已经提示我们看响应头了,那我们就看看呗(习惯bp,也可直接F12查看) 可以看到,响应头部分有个FLAG,而且有提示:please post what you find ...

  7. PHP数组创建和遍历(基础)

    数组定义PHP数组可以是混合数组 你的数组里面可以有数字也可以有字符串,二维数组不谈一个数组里还有数组跟C有差别定义方式例如 $dd=array(array(1,2,3),array(1,2,3,4) ...

  8. 洛谷P1433 吃奶酪 题解 状态压缩DP

    题目链接:https://www.luogu.com.cn/problem/P1433 题目大意 房间里放着 \(n\) 块奶酪.一只小老鼠要把它们都吃掉,问至少要跑多少距离?老鼠一开始在 \((0, ...

  9. 下页小希学MVC5+EF6.2 学习记录三

      目的:1 学习mvc+ef 2  写下日记也是对自己的督促 期待已久的EF终于来了. 学完本篇文章,你将会掌握基于EF数据模型的完整开发流程. 本次将会完成EF数据模型的搭建和使用. 基于这个模型 ...

  10. UVA 11997 The K smallest Sums

    给出K*K的矩阵,每一行取一个数,构成K个数的和,总共有 k^k种可能,从中取出前k个最小的. 一开始犯了错,因为只要对每行排序,最小的必定是第一列的和,然后我当时就想着,逐步推进,每次将某行的那个数 ...