不規則圖形的陰影(如對話框)

本文轉載於:猿2048網站不規則圖形的陰影(如對話框)php

在平常開發中會使用帶箭頭的彈出對話框,有時爲了美觀或者突出,會添加一個陰影。因爲圖形不規則且多是由多個元素拼接而成的,這樣box-shadow屬性可能不能知足需求。css

這裏推薦一個相似的屬性,filter下的drop-shadowhtml

<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);
}

效果圖:css3

相同狀況下,換成box-shadow,效果圖:網站

即僞類構造的三角並不在陰影範圍內。spa

回到drop-shadow,將三角的位置下移到和主體徹底隔離ssr

.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);
}

效果圖:code

即,drop-shadow是改元素總體輪廓(包括子元素)的陰影。這對於咱們給複雜圖形賦予陰影效果提供了很大的幫助。orm

PS:更接近於真正的陰影,drop-shadow對背景色透明的元素不起做用。而box-shadow對於背景色透明的元素依然是起做用的。htm

相關文章
相關標籤/搜索