美文网首页网页前端后台技巧(CSS+HTML)互联网科技码农的世界
web前端入门到实战:css实现不规则图形的阴影(如对话框)

web前端入门到实战:css实现不规则图形的阴影(如对话框)

作者: 560b7bb7b879 | 来源:发表于2019-10-05 20:10 被阅读0次

    在日常开发中会使用带箭头的弹出对话框,有时为了美观或者突出,会添加一个阴影。由于图形不规则且可能是由多个元素拼接而成的,这样box-shadow属性可能不能满足需求。这里推荐一个类似的属性,filter下的drop-shadow。

    <div class="triangle">
    </div>
    .triangle{
        width: 200px;
        height: 60px;
        position: relative;
        filter: drop-shadow(0 0 5px #ccc);
        background-color: #fff;
    }
    .triangle:after{
        content: "";
        position: absolute;
        left: 20px;
        bottom: -10px;
        width: 20px;
        height: 20px;
        background-color: #fff;
        transform: rotate(45deg);
    }
    web前端开发学习Q-q-u-n: 731771211,分享学习的方法和需要注意的小细节,不停更新最新的教程和学习方法(详细的前端项目实战教学视频)
    

    效果图:

    相同情况下,换成box-shadow,效果图:

    即伪类构造的三角并不在阴影范围内。

    回到drop-shadow,将三角的位置下移到和主体完全隔离

    <pre>

    .triangle{
        width: 200px;
        height: 60px;
        position: relative;
        filter: drop-shadow(0 0 5px #ccc);
        background-color: #fff;
    }
    .triangle:after{
        content: "";
        position: absolute;
        left: 20px;
        bottom: -50px;
        width: 20px;
        height: 20px;
        background-color: #fff;
        transform: rotate(45deg);
    }
    

    效果图:

    即,drop-shadow是改元素整体轮廓(包括子元素)的阴影。这对于我们给复杂图形赋予阴影效果提供了很大的帮助。

    PS:更接近于真正的阴影,drop-shadow对背景色透明的元素不起作用。而box-shadow对于背景色透明的元素依然是起作用的。

    自己是一个6年的前端工程师,希望本文对你有帮助!

    这里推荐一下我的前端学习交流扣qun:731771211 ,里面都是学习前端的,如果你想制作酷炫的网页,想学习编程。自己整理了一份2019最全面前端学习资料,从最基础的HTML+CSS+JS【炫酷特效,游戏,插件封装,设计模式】到移动端HTML5的项目实战的学习资料都有整理,送给每一位前端小伙伴,每天分享技术

    点击:加入

    相关文章

      网友评论

        本文标题:web前端入门到实战:css实现不规则图形的阴影(如对话框)

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