伪类就是可以通过直接添加一个类样式达到同等效果,而伪元素,则需要先添加一个元素,然后在元素上添加样式才能达到同等效果
伪类
:active 向被激活的元素添加样式。
:focus 向拥有键盘输入焦点的元素添加样式。
:hover 当鼠标悬浮在元素上方时,向元素添加样式。
:link 向未被访问的链接添加样式。
:visited 向已被访问的链接添加样式。
:first-child 向元素的第一个子元素添加样式。
:lang 向带有指定 lang 属性的元素添加样式。

伪元素
:first-letter 向文本的第一个字母添加特殊样式。
:first-line 向文本的首行添加特殊样式。
:before 在元素之前添加内容。
:after 在元素之后添加内容。

伪元素和伪类之所以这么容易混淆,是因为他们的效果类似而且写法相仿,但实际上 css3 为了区分两者,已经明确规定了伪类用一个冒号来表示,而伪元素则用两个冒号来表示。
:Pseudo-classes
::Pseudo-elements
但因为兼容性的问题,所以现在大部分还是统一的单冒号,但是抛开兼容性的问题,我们在书写时应该尽可能养成好习惯,区分两者。

一些常用的css伪元素和伪类的用法

通过css3伪类选择器: :nth-child() 可以选择表格或li等有规律元素的偶数行。
odd表示奇数行,even表示偶数行;
tr:nth-child(odd) {background-color: #333;}
tr:nth-child(even) {background-color: #f9f9f9;}

使用first-child和last-child伪类设置最后和第一个元素:
table tr:first-child {background: #eee}
table tr: last-child{background: #eee}

伪元素:before和:after用法
:before是css中的一种伪元素,可用于在某个元素之前插入某些内容。
:after是css中的一种伪元素,可用于在某个元素之后插入某些内容。

//html
<p>ello Worl</p>
//cssp:before{content: "H"  /*:before和:after必带技能,重要性为满5颗星*/}p:after{content: "d"  /*:before和:after必带技能,重要性为满5颗星*/}

结果输出“Hello World”

参考
https://segmentfault.com/a/1190000000484493

理解css伪类和伪元素相关推荐

  1. 详解CSS伪类与伪元素

    伪类/伪元素定义 做前端那必须的要接触到 CSS 的伪类和伪元素.常见的又:focus,:hover,:link,:visited 等等.在 CSS1 和 CSS2 中对伪类和伪选择器没有做出很明显的 ...

  2. css伪类和伪元素的特性和区别

    伪元素是真的有元素 前者是单冒号,后者是双冒号 总结一下伪类与伪元素的特性及其区别: 伪类本质上是为了弥补常规CSS选择器的不足,以便获取到更多信息: 伪元素本质上是创建了一个有内容的虚拟容器: CS ...

  3. 详解 CSS 属性 - 伪类和伪元素的区别

    2019独角兽企业重金招聘Python工程师标准>>> CSS 伪类用于向某些选择器添加特殊的效果. CSS 伪元素用于将特殊的效果添加到某些选择器. 可以明确两点,第一两者都与选择 ...

  4. CSS 伪类与伪元素

    CSS的元素选择器除了根据id(#).class(.).属性([ ])选取元素以外,还有很重要的一类,就是根据元素的特殊状态来选取元素.它们就是伪类和伪元素.跟id选择器.类选择器.属性选择器以及派生 ...

  5. css中伪类与伪元素的区别

    一:伪类: 1:定义:css伪类用于向某些选择器添加特殊效果. 伪类其实与普通的css类相类似,可以为已有的元素添加样式,但是他只有处于dom无法描述的状态下才能为文档树中的元素添加样式,所以将其称为 ...

  6. CSS 属性 - 伪类和伪元素的区别

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

  7. 十三、CSS 3新特性详解(一)——属性、结构伪类、伪元素选择器,nth-child与nth-of-type区别,2D rotate,calc函数、滤镜filter、过渡transition

    七.CSS3 属性选择器(上) 什么是 CSS3 在 CSS2 的基础上拓展.新增的样式 CSS3 发展现状 移动端支持优于 PC 端 CSS3 目前还草案,在不断改进中 CSS3 相对 H5,应用非 ...

  8. 【重识 HTML + CSS】CSS 伪类、伪元素

    CSS 伪类.伪元素 伪类 (pseudo-classes) 动态伪类 (dynamic pseudo-classes) :link.:visited.:hover.:active :focus 目标 ...

  9. CSS复合选择器( 交集、 并集、后代、子元素、兄弟、伪类、伪元素)

    CSS复合选择器 总结 复合选择器是由两个或多个基础选择器,通过不同的方式组合而成的,目的是为了可以选择更准确更精细的目标元素标签. :first-child与:first-of-type区别 :fi ...

  10. css中伪类和伪元素有什么不一样

    css中的伪类[:]和伪元素[::]都是我们日常开发过程中会用到的伪元素选择器,有时候我们用的是[:],有时候用的又是[::],有时候又好像两者都行,这到底是为什么呢?今天我们就来看看这两个东西到底有 ...

最新文章

  1. sysname数据类型是什么
  2. React之JSX入门
  3. vs2017 js cordova + dotnet core 开发app
  4. python导入自定义函数_python怎么导入自定义函数
  5. Windows Server2016+SQL Server 2016 Cluster安装及配置
  6. MEncoder的基础用法—6.6. 改变电影大小
  7. 微信小程序,video 全屏视屏展示,广告样式
  8. 阿里云云计算 13 OSS的优势和使用场景
  9. 深入浅出dev、test、pre、pro四大环境
  10. 单片微机计算机原理与接口技术高峰,单片微机原理与接口技术(第2版)
  11. Axure RP 8的介绍
  12. BUCK电路、BOOST电路,为其设计电压电流双闭环调节器,实现系统阶跃响应
  13. Linux的基本使用和程序部署
  14. Shopex模板机制总览(摘要版)
  15. 【中英文论文写作——正文】
  16. at指令 meid_常用AT指令集 (转)
  17. jQuery - end方法的用法
  18. 更多字根例字 -- 字根 (2)
  19. Java开发工程师面试三分钟自我介绍
  20. 5G+人工智能技术在垃圾分类中的应用

热门文章

  1. 用 Python 和 OpenCV 检测图片上的条形码Detecting Barcodes in Images with Python and OpenCV
  2. Maximum Likelihood Method极大似然估计的朴素理解
  3. 尾递归与Continuation
  4. 大话设计模式(十四 设计模式不能戏说!设计模式怎就不能戏说?)
  5. 用Python机器学习搞定验证码
  6. 技术面试老是有劲使不出,该怎么办?
  7. 我不曾忘记的初心-冒险努力正是你缺少的!
  8. 使用BootStrap制作用户登录UI
  9. Execute permission missing on User-Defined table Type
  10. RDS最佳实践(三)—如何制定相关的流程来规范RDS的使用