美文网首页
伪元素实现迷人阴影效果

伪元素实现迷人阴影效果

作者: andreaxiang | 来源:发表于2017-08-21 14:31 被阅读0次

    CSS中有一个特性允许我们添加额外元素而不扰乱文档本身,这就是“伪元素”。
    具体参考mdn关于伪元素的解释
    自己去看去试,具体这里就不多描述了,做前端的基本都会用。

    今天总结一下在我做官网实际项目中遇到的一个需求,用伪元素:before 和 :after实现的迷人阴影效果。要感谢公司设计师草原同学,总是不断鞭策我刷新提升我们开发工作者的审美观😄😄😄。。。

    使用伪元素

    使用伪元素是相对容易的,:before将会在内容之前“添加”一个元素而:after将会在内容后“添加”一个元素。在它们之中添加内容我们可以使用content属性。

    伪元素样式

    尽管作为“虚假”的元素,事实上伪元素表现上就像是“真正”的元素,我们能够给它们添加任何样式,比如改变它们的颜色、添加背景色、调整字体大小、调整它们中的文本等等。

    因此,我们可以给接下来的伪元素使用CSS Box Shadow属性!
    box-shadow: inset horizontal vertical blur spread colour;

    举例:

    box-shadow: 10px 10px;
    box-shadow: 10px 10px 5px #888;
    box-shadow: inset 2px 2px 2px 2px black;
    box-shadow: 10px 10px #888, -10px -10px #f4f4f4, 0px 0px 5px 5px #cc6600;
    

    好了,大致需具备的基础至少有了,开始实现设计师同学的需求吧。

    实现阴影效果

    box-shadow2.png

    没错,就是要这个阴影效果,真的很漂亮。

    开始写代码👇
    html结构:

    <div class="box effect2">
      <h3>伪元素实现的阴影效果</h3>
    </div>
    

    css代码:

    .box h3{
        text-align:center;
        position:relative;
        top:80px;
    }
    .box {
        width:400px;
        height:200px;
        background:#FFF;
        margin:40px auto;
        border: 1px solid #f7f7f7;
    }
    .effect2{
      position: relative;
    }
    .effect2::before, .effect2::after{
      z-index: -1;
      position: absolute;
      content: "";
      bottom: 15px;
      left: 10px;
      width: 50%;
      top: 80%;
      max-width:300px;
      background: #777;
      box-shadow: 0 15px 10px #aaa;
      transform: rotate(-3deg);
    }
    .effect2::after{
      transform: rotate(3deg);
      right: 10px;
      left: auto;
    }
    
    阴影效果.png
    demo效果

    相关文章

      网友评论

          本文标题:伪元素实现迷人阴影效果

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