热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

伪元素::before和::after

2.10.3伪元素::before和::after对于“::before”和“::after”来说,大家并不多见,但“:before”和“:after”,或许不会陌生,因为清除浮动就使用这两个伪类。

2.10.3 伪元素::before和::after

对于“::before”和“::after”来说,大家并不多见,但“:before”和“:after”,或许不会陌生,因为清除浮动就使用这两个伪类。

“::before”和“::after”不是指存在于标记中的内容,而是可以插入额外内容的位置。尽管生成的内容不会成为DOM的一部分,但它同样可以设置样式。

要为伪元素生成内容,还需要配合content属性。例如,假设在页面上所有外部链接之后的括号中附加它们所指向的URL,无须将URL硬编码到标记中,可以结合使用一个属性选择器和“::after”伪元素。
 

 
  1. a[herf^=http]::after {  
  2.   content:"(" attr(herf) ")";  

如今在CSS3中使用“::before”和“::after”越来越多见,例如给链接添加ICON的效果。Font Awesome站点制作的ICON就使用伪元素“::before”和“::after”,下面截取部分代码。
 

 
  1. /*  Font Awesome styles  
  2.     ------------------------------------------------------- */  
  3. [class^="icon-"]:before,  
  4. [class*=" icon-"]:before {  
  5.   font-family: FontAwesome;  
  6.   font-weight: normal;  
  7.   font-style: normal;  
  8.   display: inline-block;  
  9.   text-decoration: inherit;  
  10. }  
  11. a [class^="icon-"],  
  12. a [class*=" icon-"] {  
  13.   display: inline-block;  
  14.   text-decoration: inherit;  
  15. }  
  16. /* makes the font 33% larger relative to the icon container */  
  17. .icon-large:before {  
  18.   vertical-align: middle;  
  19.   font-size: 1.3333333333333333em;  
  20. }  
  21. .btn [class^="icon-"],  
  22. .nav-tabs [class^="icon-"],  
  23. .btn [class*=" icon-"],  
  24. .nav-tabs [class*=" icon-"] {  
  25.   /* keeps button heights with and without icons the same */  
  26.  
  27.   line-height: .9em;  
  28. }  
  29. li [class^="icon-"],  
  30. li [class*=" icon-"] {  
  31.   display: inline-block;  
  32.   width: 1.25em;  
  33.   text-align: center;  
  34. }  
  35. li .icon-large:before,  
  36. li .icon-large:before {  
  37.   /* 1.5 increased font size for icon-large * 1.25 width */  
  38.  
  39.   width: 1.875em;  
  40. }  
  41. ul.icons {  
  42.   list-style-type: none;  
  43.   margin-left: 2em;  
  44.   text-indent: -0.8em;  
  45. }  
  46. ul.icons li [class^="icon-"],  
  47. ul.icons li [class*=" icon-"] {  
  48.   width: .8em;  
  49. }  
  50. ul.icons li .icon-large:before,  
  51. ul.icons li .icon-large:before {  
  52.   /* 1.5 increased font size for icon-large * 1.25 width */  
  53.   vertical-align: initial;  
  54. }  
  55. .icon-bullhorn::before {  
  56.   content: "\f0a1";  
  57. }  
  58. .icon-beaker::before {  
  59. content: "\f0c3";  

效果如图2-50所示。



推荐阅读
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 本文介绍如何使用阿里云的fastjson库解析包含时间戳、IP地址和参数等信息的JSON格式文本,并进行数据处理和保存。 ... [详细]
  • 本题探讨了在一个有向图中,如何根据特定规则将城市划分为若干个区域,使得每个区域内的城市之间能够相互到达,并且划分的区域数量最少。题目提供了时间限制和内存限制,要求在给定的城市和道路信息下,计算出最少需要划分的区域数量。 ... [详细]
  • 探讨了如何解决Ajax请求响应时间过长的问题。本文分析了一个从服务器获取少量数据的Ajax请求,尽管服务器已经对JSON响应进行了缓存,但实际响应时间仍然不稳定。 ... [详细]
  • 本文详细介绍了如何通过RPM包在Linux系统(如CentOS)上安装MySQL 5.6。涵盖了检查现有安装、下载和安装RPM包、配置MySQL以及设置远程访问和开机自启动等步骤。 ... [详细]
  • 反向投影技术主要用于在大型输入图像中定位特定的小型模板图像。通过直方图对比,它能够识别出最匹配的区域或点,从而确定模板图像在输入图像中的位置。 ... [详细]
  • 本文详细介绍了浏览器的同源策略及其重要性,并探讨了多种实现跨域访问的方法。同源策略是浏览器的一项核心安全机制,确保不同源的客户端脚本无法在未经授权的情况下读取或修改其他来源的资源。例如,a.com下的JavaScript代码通过AJAX请求获取b.com的数据将被阻止。 ... [详细]
  • 采用IKE方式建立IPsec安全隧道
    一、【组网和实验环境】按如上的接口ip先作配置,再作ipsec的相关配置,配置文本见文章最后本文实验采用的交换机是H3C模拟器,下载地址如 ... [详细]
  • 本文介绍了在Angular中,如何有效地监听由ngFor指令生成的DOM元素的事件,并提供了具体的实现方法和示例代码。 ... [详细]
  • 基于Node.js、Express、MongoDB和Socket.io的实时聊天应用开发
    本文详细介绍了使用Node.js、Express、MongoDB和Socket.io构建的实时聊天应用程序。涵盖项目结构、技术栈选择及关键依赖项的配置。 ... [详细]
  • 深入理解Vue.js:从入门到精通
    本文详细介绍了Vue.js的基础知识、安装方法、核心概念及实战案例,帮助开发者全面掌握这一流行的前端框架。 ... [详细]
  • 本文介绍如何从JSON格式的文件中提取数据并将其分配给Bash脚本中的变量。我们将探讨具体的命令和工具,帮助你高效地完成这一任务。 ... [详细]
  • 本文介绍了如何在 Node.js 中使用 `setDefaultEncoding` 方法为可写流设置默认编码,并提供了详细的语法说明和示例代码。 ... [详细]
  • Redux入门指南
    本文介绍Redux的基本概念和工作原理,帮助初学者理解如何使用Redux管理应用程序的状态。Redux是一个用于JavaScript应用的状态管理库,特别适用于React项目。 ... [详细]
  • 本文总结了优化代码可读性的核心原则与技巧,通过合理的变量命名、函数和对象的结构化组织,以及遵循一致性等方法,帮助开发者编写更易读、维护性更高的代码。 ... [详细]
author-avatar
打篮球的乔巴
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有