在文字后面制作简单的斑点背景

最近接到了一个需求如下:

需求

拿到需求一看,顿时感觉非常简单,无非就是定位,伪元素之流的方法。于是就有了以下代码:
html部分

  <div class="demo-wrapper">
    <span class="text-wrapper">
      <span class="spot spot-left"></span>
      <span class="text">背景斑点</span>
      <span class="spot spot-right"></span>
    </span>
  </div>

css部分

    .demo-wrapper {
      text-align: center;
    }
    .text-wrapper {
      position: relative;
    }
    .text-wrapper > .spot {
      display: inline-block;
      width: 20px;
      height: 20px;
      border-radius: 10px;
    }
    .spot-left {
      position: absolute;
      bottom: -5px;
      left: 0px;
      background: #60ff00;
    }
    .spot-right {
      position: absolute;
      top: -5px;
      right: 0px;
      background: #e500ff;
    }

结果一看:


非预期效果

emmmm,资料一查,原来是position属性的问题,position属性会让该元素脱离文档流从而导致文字被遮挡。

解决方法:

我们可以利用position的特性,均为动态定位的兄弟元素间,靠后的居上。
修改后的html

  <div class="demo-wrapper">
    <span class="text-wrapper">
      <span class="spot spot-left"></span>
      <span class="spot spot-right"></span>
      <span class="text">背景斑点</span>
    </span>
  </div>

添加css

.text {
   position: relative
}

这样就能达到预期效果了。

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

推荐阅读更多精彩内容

  • HTML 5 HTML5概述 因特网上的信息是以网页的形式展示给用户的,因此网页是网络信息传递的载体。网页文件是用...
    阿啊阿吖丁阅读 4,119评论 0 0
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,368评论 0 3
  • 1.CSS基本概念 1.1 CSS的定义 CSS(Cascading Style Sheets)层叠样式表,主要用...
    寥寥十一阅读 1,900评论 0 6
  • CSS 是什么 css(Cascading Style Sheets),层叠样式表,选择器{属性:值;属性:值}h...
    崔敏嫣阅读 1,513评论 0 5
  • 一:在制作一个Web应用或Web站点的过程中,你是如何考虑他的UI、安全性、高性能、SEO、可维护性以及技术因素的...
    Arno_z阅读 1,245评论 0 1