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

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