美文网首页
在文字后面制作简单的斑点背景

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

作者: RoweYao | 来源:发表于2019-11-19 11:54 被阅读0次

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

    需求

    拿到需求一看,顿时感觉非常简单,无非就是定位,伪元素之流的方法。于是就有了以下代码:
    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
    }
    

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

    相关文章

      网友评论

          本文标题:在文字后面制作简单的斑点背景

          本文链接:https://www.haomeiwen.com/subject/nzbcuctx.html