(实战)多边形,梯形盒阴影css实现技巧

Posted homehtml

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(实战)多边形,梯形盒阴影css实现技巧相关的知识,希望对你有一定的参考价值。

一般情况下,我们给块状元素(四边形)添加阴影样式,直接用css box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);就可以了,但是总有一些需求是那么的特别,例如下图:

技术图片

要求给这样的梯形盒外围加阴影,第一眼感觉也没啥特别的,但是搞起来就知道多烦了。反正我是折腾了好一会儿,最后只能用下面这样实现了。

html和CSS(sass)代码:

        <div class="m-tab-page-box cf">
            <div class="m-tab-page">
                <a class="m-page-item" href="">Set Physical Presence </a>
                <a class="m-page-item current" href="">Set Prodcut Tax Code </a>
            </div>
            <div class="m-tab-page-cover"></div>
        </div>

        <div class="tab-search-block">
            <div style="height: 160px;"></div>
        </div>
.m-tab-page-box{
    position: relative;
}
.m-tab-page-cover{
    width: 100%;
    height: 3px;
    background: #fff;
    position: absolute;
    bottom: -3px;
}
.m-tab-page {
    float: left;
    border-bottom: none;
    margin-bottom: 0;
    display: inline-block;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
    height: 38px;

    .m-page-item {
        display: block;
        padding: 10px 20px;
        float: left;
        color: #222;
        font-weight: bold;
        margin-bottom: 0;
        background: #edf0f2;

        &.current {
            background: #fff;
            border: none;

        }
    }

}

.tab-search-block{
    background: #fff;
    box-shadow: 0 1px 3px 0px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;

}

实现思路:‘.m-tab-page‘设成行内元素,加阴影,‘.tab-search-block‘加阴影,重点是在‘.m-tab-page-box‘中添加一个‘.m-tab-page-cover‘,该元素的作用就是遮住‘.m-tab-page‘元素的底部阴影,注意‘.m-tab-page-cover‘的高度为盒阴影扩散的距离。

备注:
如果哪位有更好的思路,烦请留言说下啊。


以上是关于(实战)多边形,梯形盒阴影css实现技巧的主要内容,如果未能解决你的问题,请参考以下文章

web前端入门到实战:CSS 阴影动画优化技巧

用CSS3怎么实现盒阴影 box-shadow?

CSS3阴影实现方法及技巧全解

CSS3 盒阴影属性详解

CSS左边竖条实现方法

css 3D盒阴影效果:右下角