俄罗斯贵宾会-俄罗斯贵宾会官网
做最好的网站

CSS3 filter:drop-shadow滤镜与box-shadow区别应用

CSS3 filter:drop-shadow滤镜与box-shadow区别应用

2016/05/19 · CSS · box-shadow, drop-shadow

原文出处: 张鑫旭(@张鑫旭 )   

要使用标准的CSS3实现某元素的投影效果,有两个套路,第一个就是使用常见的box-shadow, 第二个就是使用CSS3的filter阴影滤镜drop-shadow,那这两个阴影实现有什么具体的差异呢?

首先介绍一下,css3中有两个属性可设置投影,分别是:

一、兼容性不一

CSS3 box-shadow从IE9浏览器开始就支持了,如下表示意:

俄罗斯贵宾会 1

filter中的drop-shadowIE13才开始支持,移动端Android4.4才开始支持,细想一下,其实离在移动端愉快使用就差一口气,明天的今天,大家说不定就在载歌载舞了:

俄罗斯贵宾会 2

box-shadow:x偏移, y偏移, 模糊大小, 色值;

filter:drop-shadow(x偏移, y偏移, 模糊大小, 色值)

二、同样的参数值,表现效果有差异

filter中的drop-shadow语法如下:

filter: drop-shadow(x偏移, y偏移, 模糊大小, 色值);

1
filter: drop-shadow(x偏移, y偏移, 模糊大小, 色值);

例如:

filter:drop-shadow(5px 5px 10px black)

1
filter:drop-shadow(5px 5px 10px black)

表示右下5像素偏移,10像素模糊的黑色阴影。眼见为实,看下面的图片示意(实时效果,请使用Chrome或手机浏览器查看):

俄罗斯贵宾会 3

但是,如果使用同样参数值的box-shadow,例如:

box-shadow: 5px 5px 10px black;

1
box-shadow: 5px 5px 10px black;

会发现,box-shadow的阴影距离更小,色值要更深:

俄罗斯贵宾会 4

二者有什么区别?

三、drop-shadow没有内阴影效果

box-shadow支持inset内阴影,如:

box-shadow: inset 5px 5px 10px black;

1
box-shadow: inset 5px 5px 10px black;

但是,drop-shadow却没有。

1. 兼容性

box-shadow:从IE9+开始兼容

俄罗斯贵宾会 5

box-shadow兼容性

filter:drop-shadow:从IE13+兼容

俄罗斯贵宾会 6

drop-shadow兼容性

从上图可知,box-shadow在兼容性上做的更好。而drop-shadow还只能在新版本的浏览器中使用,对老旧浏览器并不友好

四、drop-shadow不能阴影叠加

box-shadow有个超屌的特性,就是阴影可以任意累加,因此,理论上我们可以使用box-shadow生成任意的图片,包括张含韵妹子年轻时候的写真,具体可参加“CSS3 box-shadow盒阴影图形生成技术”一文。

但是filter中的drop-shadow就只能抱歉了,我就是一锤子买卖。没钱也这么任性!

说到现在,体现的尽是drop-shadow的不好,兼容性不够,内阴影不支持,多阴影也不支持;感觉就像是小蚯蚓,失恋了,工作也没了,存在的意义好像就成了白富美的谈资。

真的是这样吗?显然非也!所谓存在既有道理。

drop-shadow有一个很厉害的特性,也就这一个特性,让其以后有足够的机会大放异彩!那就是,drop-shadow俄罗斯贵宾会,才是真正意义上的投影,而box-shadow只是盒阴影而已。

什么意思呢?

2. 阴影叠加

filter:drop-shadow不支持阴影叠加

阴影叠加是你可以对一个元素重复进行阴影设置,使用box-shadow可以极限叠加,不考虑性能的话,甚至可以拼出你想要的任何形状。

关于box-shadow阴影叠加属性可以点击这里box-shadow阴影叠加技术应用

本文由俄罗斯贵宾会发布于Web前端,转载请注明出处:CSS3 filter:drop-shadow滤镜与box-shadow区别应用

您可能还会对下面的文章感兴趣: