::after和::before伪元素

关注::after::before两个伪元素,相当于在元素内部生成两个额外的标签,并且都是inline元素,要设置其宽高,必须设置display:block;

用法

<style>
  .example::before {
    content: "before";
  }
  .example::after {
    content: "after";
  }
</style>

<body>
  <p class="example">测试伪元素</p>
</body>

<!-- before测试伪元素after  -->

浏览器渲染生成的DOM结构与以下代码相同:生成的两个伪元素在目标元素的内部,并且是inline属性

<p class="example" title="haha">
  ::before
  "测试伪元素"
  ::after
</p>

注意

.example::before {content: "";}content属性必须要有,代表插入目标元素前后的内容,其内容可以是:

  • 文本:包含在双引号内即可;
  • 空字符串:不插入内容,仅代表一个空元素;
  • 背景图:content: url(image.jpg);没有双引号;
  • HTML元素的属性值: content: attr(title);,将p元素的title属性值以文本形式插入到p元素内容之前。

**伪元素不会出现在DOM中,所以不要使用伪元素生成内容。

应用

最适合的应用:图形生成、清除浮动、一些不影响功能或重要视觉的效果,并且不改变原网页的整体结构。

参考:小tip:我是如何在实际项目中使用before/after伪类的
学习使用:before和:after伪元素

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转自理解伪元素 :before 和 :after层叠样式表(CSS)的主要目的是给HTML元素添加样式,然而,在一...
    种谔阅读 903评论 0 3
  • CSS的主要目的是给HTML元素添加样式,然而,在一些案例中给文档添加额外的元素是多余的或是不可能的。事实上,CS...
    康斌阅读 2,715评论 0 12
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,868评论 1 92
  • 1.:before伪元素和:after伪元素是干嘛用的 它们会在内容元素的前后插入额外的元素,:before伪元素...
    BIGHAI阅读 5,027评论 0 3
  • 第62天 姓名:董蕴英 公司:沈阳建筑装饰装修有限公司 【知~学习】 《六项精进》大纲1遍 共162遍 《大学》开...
    董生活阅读 137评论 0 0