css為透明圖片設(shè)置陰影

通常,我們?yōu)閳D片設(shè)置陰影使用box-shadow屬性,代碼如下:

box-shadow: h-shadow v-shadow blur spread color inset;
  • h-shadow:必需設(shè)置的值,定義水平陰影的位置。允許負(fù)值。
  • v-shadow:必需設(shè)置的值,定義垂直陰影的位置。允許負(fù)值。
  • blur:可選設(shè)置的值,定義模糊距離。
  • spread:可選設(shè)置的值,定義陰影的尺寸。
  • color :可選設(shè)置的值,定義陰影的顏色。如果沒有設(shè)置值,顏色值基于瀏覽器顯示,建議設(shè)置。
  • inset:可選設(shè)置的值,設(shè)置后可將外部陰影 (outset) 改為內(nèi)部陰影。

示例:

為圖片添加陰影

<img src="image.jpg" alt="image">
img {
    box-shadow: 10px 10px 10px gray;
    }
image.png

但是對(duì)于透明圖片,使用該方法像是為圖片添加了邊框,不能根據(jù)圖片的實(shí)際輪廓添加陰影,效果如下:

image.png

對(duì)于透明圖片,我們可以用filter:drop-shadow

box-shadow 屬性在元素的整個(gè)框后面創(chuàng)建一個(gè)矩形陰影,而 drop-shadow 過濾器則是創(chuàng)建一個(gè)符合圖像本身形狀 (alpha 通道) 的陰影。簡(jiǎn)單來說,drop-shadow生成的陰影是基于圖片內(nèi)部形狀,是不透明的部分,而不是在圖片外面,可以根據(jù)透明圖片的輪廓生成陰影。

drop-shadow(offset-x offset-y blur-radius spread-radius color)
  • offset-x offset-y :必需設(shè)置的值,x偏移和y偏移
  • blur-radius:可選設(shè)置的值,陰影的模糊半徑,默認(rèn)為0
  • spread-radius:可選設(shè)置的值,陰影的擴(kuò)展半徑,但是大多數(shù)瀏覽器不支持這個(gè)參數(shù)
  • color:可選設(shè)置的值,色值

下面看使用drop-shadow的效果:

img {
    filter: drop-shadow(2px 4px 8px gray);
    }
image.png

達(dá)到預(yù)期效果!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容