(實戰)多邊形,梯形盒陰影css實現技巧

通常狀況下,咱們給塊狀元素(四邊形)添加陰影樣式,直接用css box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);就能夠了,可是總有一些需求是那麼的特別,例以下圖:css

圖片描述

要求給這樣的梯形盒外圍加陰影,第一眼感受也沒啥特別的,可是搞起來就知道多煩了。反正我是折騰了好一下子,最後只能用下面這樣實現了。sass

HTML和CSS(sass)代碼:spa

<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'的高度爲盒陰影擴散的距離。code

備註:
若是哪位有更好的思路,煩請留言說下啊。圖片

相關文章
相關標籤/搜索