使用CSS3滤镜的filter:blur属性制作毛玻璃模糊效果的方法

今天在使用icloud的时候看到苹果icloud官网的毛玻璃效果非常赞,仔细研究了一下它的实现方式,是使用js配合background-image: -webkit-canvas的形式绘制出的毛玻璃背景图片。
不过今天又仔细研究了一下css3中的blur方法,可以实现同样的效果。且配合JS可以实现模糊缩放的效果

基础

先来看一下blur属性的表达式:

CSS Code复制内容到剪贴板 filter:blur(add=add,direction,strength=strength)  

我们看到blur属性有三个参数:add、direction、strength。
Add参数有两个参数值:true和false。意思是指定图片是否被改变成模糊效果。    

Direction参数用来设置模糊的方向。模糊效果是按照顺时针方向进行的。其中0度代表垂直向上,每45度一个单位,默认值是向左的270度。角度方向的对应关系见下表:

实例

CSS代码

CSS Code复制内容到剪贴板 .blur {         filter: url(blur.svg#blur); /* FireFox, Chrome, Opera */               -webkit-filter: blur(10px); /* Chrome, Opera */          -moz-filter: blur(10px);            -ms-filter: blur(10px);                    filter: blur(10px);                filter: progid:DXImageTransform.Microsoft.Blur(PixelRadius=10, MakeShadow=false); /* IE6~IE9 */   }  

HTML部分

XML/HTML Code复制内容到剪贴板 <img src="mm1.jpg" class="blur" />  

其中blur(10px)中的大小决定了模糊后的图片大小和模糊程度

使用CSS3滤镜的filter:blur属性制作毛玻璃模糊效果的方法