css中的::after和::before已经被大量地使用在我们日常开发中了,使用他们可以使我们的文档结构更加简洁。但是很多人对::after和::before仍不是特别了解,究竟他们是做什么的?如何使用他们?什么时候应该使用他们?笔者总结了一些对伪元素的理解和使用经验。

一、概念:

1.定义

The CSS ::before(::after) pseudo-element matches a virtual first(last) child of the selected element. It is typically used to add cosmetic content to an element by using the content CSS property. This element is inline by default.

从定义我们知道::before和::after匹配一个虚拟元素,主要被用于为当前元素增加装饰性内容的。他显示的内容是其自身的“content”属性,默认是内联元素。

其实::after和::before被引入css中,最核心的目的,还是为了实现语义化。在我们实际开发时候经常有这样的经历,为了实现一些效果,在文档中创建了一些没有实际内容的节点,或者加入辅助样式的文本,如:

<style>ul{list-style: none;}li{display: inline;}
</style>
<nav><ul><li>HTML 5</li><li>|</li>

web前端入门到实战:css伪元素::after和::before,及图标字体的使用相关推荐

  1. html前端页面的基本骨架是,web前端入门到实战:css实现的骨架屏方案

    web前端入门到实战:css实现的骨架屏方案 发布时间:2020-08-04 01:32:03 来源:51CTO 阅读:152 作者:前端向南 优点 简单,不需要工程,不用puppeteer生成骨架d ...

  2. 转圈加载html,web前端入门到实战:纯CSS实现加载转圈样式

    web前端入门到实战:纯CSS实现加载转圈样式 发布时间:2020-05-27 18:11:33 来源:51CTO 阅读:134 作者:前端向南 不同的项目中对于等待加载时转圈圈的样式是不同的,有的是 ...

  3. html中怎么做彩虹,web前端入门到实战:纯CSS画动态彩虹

    效果 效果图如下 实现思路 使用box-shadow画赤橙黄绿蓝靛紫7个弧形,拼接在一起 after伪元素写投影样式 彩虹和投影都有动画 dom结构 用两个嵌套的div容器,父容器来控制图标显示的位置 ...

  4. web前端入门到实战:实现CSS形状变换

    CSS3的"clip-path",这个"clip-path"看起来有点眼熟,因为它原本就存在于SVG里头,利用掩码(剪裁)的方法,连接坐标绘制掩码区域,就可以做 ...

  5. web前端入门到实战:CSS实现雨滴动画效果

    玻璃窗 今天我们要实现的是雨滴效果,不过实现雨滴前,我们先把毛玻璃的效果弄出来,没有玻璃窗,雨都进屋了,还有啥好敲打的. <div class='window'></div> ...

  6. web前端入门到实战:纯css制作电闪雷鸣的天气图标

    效果 效果图如下 实现思路 使用box-shadow属性写几个圆,将这些圆错落的组合在一起,形成云朵图案 after伪元素写下面的投影样式 before伪元素写黄色闪电的样式 dom结构 用两个嵌套的 ...

  7. html div添加天气,web前端入门到实战:纯CSS写一个动态太阳的天气图标

    效果 效果图如下 实现思路 div实现太阳的一条矩形光影 before伪元素制作另一条光影矩形,和已有的转变90° after伪元素画个圆实现太阳样式 dom结构 用两个嵌套的div容器,父容器来控制 ...

  8. web前端入门到实战:五个最新的CSS特性以及如何使用它们

    虽然CSS简单,但CSS是一门非常有意思的语言,CSS每年都有变化,而且都有不同的博主都在不同的时间段总结一些CSS的新特性.虽然这些新特性无法立刻得到众多浏览器的支持,但总是随着时间的发展,这些特性 ...

  9. web前端入门到实战:CSS实现平行四边形布局效果

    如何实现下图所示的平行四边形布局效果? 一.skewX的局限 一提到平行四边形,条件反射般的就会想起CSS transform中的skew()/skewX()/skewY()方法,可以让元素斜切,从而 ...

最新文章

  1. valgrind-yyds——memcheck检查程序中的内存问题,如泄漏、越界、非法指针等。
  2. Ubuntu双系统Grub启动菜单修复
  3. Node - 异步IO和事件循环
  4. 全面、经典视频教程(php、java、jsp、ajax、linux...)
  5. java学习笔记(三)----成员权限,构造函数,this用法
  6. 一起学nRF51xx 0 - 环境搭建
  7. 下方向键_Bash使用$#x27;...#x27;来捕获方向键
  8. 如何读懂UWA性能报告?—NGUI篇
  9. php curl 12306,pany
  10. 神器!人工智能分离歌曲中的人声和背景音乐
  11. java减号的正则_java 正则匹配 特殊字符 减号- 的情况,处理方式
  12. 火车票能不能选座_终于,买火车票也能选座了!
  13. MongoDB——MongoDB分片集群(Sharded Cluster)两种搭建方式
  14. 风剑分享“站在上帝视角看数据”,点燃企业大数据梦想与思潮
  15. 2022年最新云开发去水印小程序源码
  16. 几篇很好的文章(介绍VB.NET类),不断增加中
  17. zynq linux如何使用pl ip,ZYNQ+linux网口调试笔记(3)PL-ETH
  18. 图灵奖得主Yoshua Bengio:用因果打开AI的黑盒
  19. 企业网络组建项目实训--交换机的配置与管理(下)
  20. RobotFramework-自定义远程java关键字库能否返回Map类型

热门文章

  1. android小米4c 权限,小米 4C 全网通(安卓7.0)获取Root权限服务含精简系统方案
  2. RPG游戏高性能特效是怎么练成的?文末送福利
  3. 用C语言做一个走迷宫代码
  4. 【电脑讲解】电脑没有声音了怎么恢复?以win7为例
  5. 【Python爬虫系列】使用requests爬取图片
  6. WebSocket is closed before the connection is established
  7. 各种神字体来袭,圈子球迷用书法作品为国足呐喊加油!
  8. VMProtectSDK使用教程
  9. 01-小悦为什么写 Python 爬虫教程
  10. 关于PyCharm中遇到exit code -1073740791 (0xC0000409)的问题及其解决方法