CSS3 不规则投影(filter:drop-shadow)滤镜

2017-06-08  本文已影响0人  巴斯光年lip

<a href='https://codepen.io/lip90/pen/YQyYYL/'>查看图片代码</a>

通过这张图,可以很明显的看见这两个投影的差别。
box-shadow会忽视透明部分。

这类情况包括:

filter:drop-shadow属性是从SVG那里借来的,尽管CSS滤镜基本上就是SVG滤镜,但我们并不需要掌握任何SVG知识,就可以对此属性加以利用。
drop-shadow()滤镜可以接受的参数基本上跟 box-shadow属性是一样的,但不包括扩张半径、不包括 inset 关键字,也不支持逗号分隔的多层投影语法
它们写法的不同:

 box-shadow: 4px 4px 4px #fce;
filter: drop-shadow(4px 4px 4px #fce);

CSS滤镜最大的好处在于,它们可以平稳退化:当浏览器不支持时,不会出现问题,只不过没有任何效果而已。

filter: drop-shadow 另一件不容忽视的事情就是:任何非透明的部分都会被一视同仁地打上投影,包括文本(如果背景是透明的)。而且并不能被:text-shadow:none; 取消掉文字的投影。如果你已经为上过投影了,那它将被打上两层投影。

text-shadow:4px 4px #fff;
filter: drop-shadow(4px 4px 2px #fce);

参考书籍:Lea Verou《CSS揭秘》

上一篇 下一篇

猜你喜欢

热点阅读