花潮论坛

搜索
热搜: 活动 交友 discuz
查看: 12|回复: 2

clip-path剪裁的元素如何投射阴影

[复制链接]
  • TA的每日心情
    奋斗
    2026-8-2 12:04
  • 签到天数: 1888 天

    [LV.Master]伴坛终老

    3295

    主题

    13万

    回帖

    29万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

    发表于 2026-8-2 12:30 | 显示全部楼层 |阅读模式

    请马上登录,朋友们都在花潮里等着你哦:)

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x

    使用 clip-path CSS属性剪裁的元素,box-shadowfilter: drop-shadow() 创建的元素外阴影均被裁剪掉。原因是 clip-path 属性只显示裁剪路径、形状等内部的区域,其外区域被彻底舍弃,以此方式将矩形元素改造为所需的任意形状。

    实际应用场景可能希望被 clip-path 裁剪的元素也能具备阴影功能,这需要另辟蹊径。最常见的方法是:保留元素的自然状态,裁剪其伪元素或子元素;主元素使用 filter 属性的 drop-shadow() 滤镜函数投射阴影而不是使用 box-shadow 属性实现,因为后者投射的阴影将会是主元素的矩形轮廓而非伪或子元素的裁剪形状。

    以下例子简单展示上述命题,主元素投射两个阴影:近阴影用于立体化伪元素的形状,远阴影则模拟光照所产生的物体投射在地上的影子——

    <style>
        .pa {
            width: 200px;
            height: 100px;
            /* 双阴影 :立体化 + 影子 */
            filter: drop-shadow(2px 2px 4px black) drop-shadow(5vw 30vh 10px gray);
            margin: 50px auto 0;
            position: relative;
        }
        .pa::before {
            position: absolute;
            content: '';
            width: 100%;
            height: 100%;
            background: linear-gradient(lightseagreen, green, lightseagreen);
            /* 多边形裁剪 */
            clip-path: polygon(0 50%,100% 0, 80% 50%, 100% 100%, 0 50%);
            transform-origin: 0 50%; /* 变换原点设在尖角处 */
            animation: swing 1.5s infinite alternate;
        }
        @keyframes swing {
            from { transform: rotate(-5deg); }
            to { transform: rotate(5deg); }
        }
    </style>
    
    <div class="pa"></div>
        

    评分

    参与人数 2威望 +60 金钱 +120 经验 +60 收起 理由
    梦江南 + 30 + 60 + 30 匠心独运,细节精致入微!
    杨帆 + 30 + 60 + 30 匠心独运,细节精致入微!

    查看全部评分

  • TA的每日心情
    奋斗
    2026-8-2 10:28
  • 签到天数: 614 天

    [LV.9]以坛为家II

    390

    主题

    4727

    回帖

    2万

    积分

    版主

    Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生鹰傲苍穹飞龙在天王者至尊大将风范花潮版主

    发表于 2026-8-2 14:07 | 显示全部楼层
    巧妙的构思,奇妙的效果,谢谢马老师创新探索精彩示范
    ★青春是一个人的精神生命,奋斗是一个人最大的体面,学习是一个人最美的姿态。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2026-8-2 08:56
  • 签到天数: 798 天

    [LV.10]以坛为家III

    565

    主题

    3万

    回帖

    9万

    积分

    贵宾

    Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

    花潮美女鼠牛虎兔龙蛇马羊猴鸡狗猪缤纷心情心曲飞扬花好月圆飞龙在天音画大师天籁妙音共看流星风雨同行我心永远喜乐安康花潮贵宾

    发表于 2026-8-2 14:28 | 显示全部楼层
    很难想象用代码就能实现这种投影的效果。黑黑老师厉害!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    小黑屋|手机版|Archiver|服务支持:DZ动力|huachaowang.com Inc. ( 蜀ICP备17032287号-1 )

    GMT+8, 2026-8-2 15:28 , Processed in 0.068651 second(s), 25 queries .

    Powered by Discuz! X3.4

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表