CSS3中filter:drop-shadow滤镜与box-shadow区别有哪些
这篇文章主要为大家展示了CSS3中filter:drop-shadow滤镜与box-shadow区别有哪些,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“CSS3中filter:drop-shadow滤镜与box-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;
会发现,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区别有哪些”的内容,如果改文章对你有所帮助并觉得写得不错,劳请分享给你的好友一起学习新知识,若想了解更多相关知识内容,请多多关注编程网行业资讯频道。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341