html5 - 如何实现带阴影的不规则容器?
PHP中文网
PHP中文网 2017-04-17 15:05:30
[HTML讨论组]
PHP中文网
PHP中文网

认证0级讲师

全部回复(4)
高洛峰

html:

<p class="boxAll">
    <p class="boxA">

    </p>
    <p class="box"></p>
</p>

css

    <style>
        .boxAll{
            width: 400px;
            height:500px;
            border: 1px solid #333333;
            position: relative;
            background: #D9D9D9;
        }
        .boxA{
            width: 100%;
            height:480px;
           background: #fff;
            top: 20px;
            position: absolute;
        }
        .box{
            width:100px;
            height:50px;
            position: absolute;
            border-radius:0 0 50px 50px;
            background:#D9D9D9;
            top: 20px;
            left: 150px;
            box-shadow: 0 0 .2rem #e6D6D6;
        }

    </style>

效果:

黄舟
p:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -20px;
    box-shadow: inset 0px -6px 12px #444;
    border-radius: 0 0 40px 40px;
    width: 80px;
    height: 40px;
}

当然这样最上面还会有个黑影,你可以改成两层,内层画一个圆而不是半圆,overflow:hidden,然后相对外层上移半圆的距离就行了

PHP中文网

filter: drop-shadow()或者,必要时用clip-path切割你的容器形状。使用svg也是一个不错的选择。但以上方法都存在兼容性问题。

天蓬老师

大家有实现的可以给个Demo,目前为止,这个效果我还没实现,,这个效果的细节是:直线处的阴影在缺口处能很自然的凹陷下去,,现在的思路是实现一个整体的不规则的容器,然后给这个容器上个阴影,,如果使用一个方形和一个半圆拼凑,我试过,阴影不自然

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号