詳解CSS3 filter:drop-shadow濾鏡與box-shadow區(qū)別與應用

要使用標準的CSS3實現某元素的投影效果,有兩個套路,第一個就是使用常見的box-shadow
, 第二個就是使用CSS3的filter
陰影濾鏡drop-shadow
,那這兩個陰影實現有什么具體的差異呢?
一、兼容性不一
CSS3 box-shadow
從IE9瀏覽器開始就支持了,兼容性如下截圖:
而filter
中的drop-shadow
IE13才開始支持,移動端Android4.4才開始支持。兼容性如下圖:
二、同樣的參數值,表現效果有差異
filter
中的drop-shadow
語法如下:
filter: drop-shadow(x偏移, y偏移, 模糊大小, 色值); filter:drop-shadow(5px 5px 10px black)
表示右下5像素偏移,10像素模糊的黑色陰影。眼見為實,看下面的圖片示意。
但是,如果使用同樣參數值的box-shadow
,例如:
box-shadow: 5px 5px 10px black;
會發(fā)現,box-shadow
的陰影距離更小,色值要更深:
三、drop-shadow沒有內陰影效果
box-shadow
支持inset
內陰影,如:
box-shadow: inset 5px 5px 10px black;
但是,drop-shadow
卻沒有。
四、陰影 vs 盒陰影
drop-shadow
有一個很厲害的特性,也就這一個特性,讓其以后有足夠的機會大放異彩!那就是,drop-shadow
才是真正意義上的投影,而box-shadow
只是盒陰影而已。
什么意思呢?
下面我們用CSS border
寫一個虛線框,例如:
border: 10px dashed #fa608d; height: 50px; width: 50px;
然后,我們分別應用box-shadow
和drop-shadow
濾鏡:
box-shadow: 5px 5px 10px black; filter: drop-shadow(5px 5px 10px black);
box-shadow:
filter:drop-shadow:
box-shadow
顧名思意“盒陰影”,只是盒子的陰影;你想啊,這盒子中間明明是透明的,結果,陰影的時候,居然光線沒有穿透;但是drop-shadow
就符合真實世界的投影,非透明的顏色,我就有投影;透明部分,光線穿過,沒投影,而什么盒子不盒子的,跟我沒有任何關系。
drop-shadow
不僅可以穿透代碼構建的元素的透明部分,PNG圖片的透明部分也是可以穿透的,如下圖:
六、drop-shadow的實際應用
我們實現帶有箭頭指向的浮層面板的時候,考慮到兼容性,三角基本上都是使用border
繪制的,沒法box-shadow
,但是,矩形部分設計師希望是有陰影的,
箭頭沒有陰影,蒙混過關。現在,有了drop-shadow
,陰影就真的變成了陰影了。
CSS代碼: .box { margin: 40px; padding: 50px; background-color: #fff; position: relative; font-size: 24px; } .cor { position: absolute; left: -40px; widtd: 0; height: 0; overflow: hidden; border: 20px solid transparent; border-right-color: #fff; } .box-shadow { box-shadow: 5px 5px 10px black; } .drop-shadow { filter: drop-shadow(5px 5px 10px black); } HTML代碼: <div class="box box-shadow"> <i class="cor"></i> box-shadow </div> <div class="box drop-shadow"> <i class="cor"></i> filter: drop-shadow </div>
到此這篇關于詳解CSS3 filter:drop-shadow濾鏡與box-shadow區(qū)別與應用的文章就介紹到這了,更多相關CSS3 filter:drop-shadow與box-shadow內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持腳本之家!
相關文章
- 這篇文章主要介紹了css3 filter屬性的使用簡介,幫助大家更好的理解和學習使用css3,感興趣的朋友可以了解下2021-03-30
CSS3 filter(濾鏡)實現網頁灰色或者黑色模式的示例代碼
這篇文章主要介紹了CSS3 filter(濾鏡)實現網頁灰色或者黑色模式的示例代碼,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-24CSS3 filter(濾鏡)實現網頁灰色或者黑色模式的代碼
這篇文章主要介紹了CSS3 filter(濾鏡)實現網頁灰色或者黑色模式的代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以2020-11-30css中filter屬性和backdrop-filter的應用與區(qū)別詳解
這篇文章主要介紹了css中filter屬性和backdrop-filter的應用與區(qū)別詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面2020-09-14- 這篇文章主要介紹了使用css的filter寫鼠標滑過效果的實現示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編2020-08-13
- CSS filter屬性將模糊或顏色偏移等圖形效果應用于元素形成濾鏡,濾鏡通常用于調整圖像,背景和邊框的渲染。本文給大家分享CSS filter 有什么神奇用途,感興趣的朋友跟隨小2021-05-25