欢迎来到DIVCSS5查找CSS资料与学习DIV CSS布局技术!
  css?filter属性将模糊或颜色偏移等图形效果应用于元素形成滤镜,滤镜通常用于调整图像,背景和边框的渲染。

  它的数据类型由下列过滤器函数之一指定。每个函数需要一个参数,如果参数无效,则滤镜不会生效。以下是对滤镜函数含义的解释:


  blur():模糊图像


  brightness()?:让图像更明亮或更暗淡


  contrast():增加或减少图像的对比度


  drop-shadow():在图像后方应用投影


  grayscale():将图像转为灰度图


  hue-rotate():改变图像的整体色调


  invert():反转图像颜色


  opacity():改变图像透明度


  saturate():超饱和或去饱和输入的图像


  sepia():将图像转为棕褐色


  在给元素添加阴影的时候,我们一般采用?box-shadow?属性,通过?box-shadow(x偏移,y偏移,模糊大小,阴影大小,色值,inset)?的语法形式很容易为元素添加阴影效果,但box-shadow也有一个缺点,就是在给透明图片添加阴影效果时,无法穿透元素,只能添加到透明图片元素的盒模型上。


  这个时候,filter属性的drop-shadow方法就能很好的解决这个问题,用它添加的阴影可以穿透元素,而不是添加到元素的盒模型边框上。


  drop-shadow?添加的阴影除了可以穿透透明元素外,阴影效果和?box-shadow?是相同的,如果浏览器支持硬件加速的话,使用filter添加的阴影效果会更加逼真。


  drop-shadow语法如下(它除了不支持设置inset,其他和box-shadow是完全相同的):


  如:


  下图是分别使用box-shadow和filter:drop-shadow为透明元素添加阴影的对比:


  发生重大灾害事故或其他哀悼日时,国企政府网站往往有网页全部置灰的需求。或者很多网页中有鼠标hover悬浮到灰色元素上时变成彩色的样式效果。


  此时就可以使用filter属性的grayscale方法实现,它可以调整元素灰度,通过给页面元素设置filter:grayscale(100%)?就可将页面元素置灰。


  以下示例中,body标签下有h1和img标签,未添加filter样式前如下所示。


  现在我们给body元素添加一个.gray类,<body>?就可实现整个网页置灰效果。


  为了兼容IE8等其他低版本浏览器,我们可以加上浏览器前缀和svg滤镜。


  在做紧急置灰网页需求时,上线一段时间往往需要撤掉这个功能,我们还可以在首次上线时添加以下类似的方法,来控制置灰效果的自动上下线时间,这样到达预定时间就可自动撤去,不用走两次施工流程。


  brightness方法实现元素高亮的效果,可以应用到菜单栏、图片列表hover效果,来强调鼠标当前悬浮或选中的内容。


  下面是对一组按钮菜单栏添加brightness和saturate两个方法,通过改变亮度和饱和度来高亮元素。


  毛玻璃(Frosted glass)效果,顾名思义就是类似半透明毛玻璃的效果,在iOS系统、Windows 10?等系统UI中有广泛应用,使用毛玻璃效果可以增强视觉体验。


  在?《css揭秘》?等著作中也有系统讲解,下面是我对分别使用filter:blur和backdrop-filter:blur两种方法实现这种效果的总结。


  有两个含有相同类名glass的div元素,它们分别被添加两个类glass-by-filter和glass-by-backdrop-filter来区分两种方法。


  通用样式,设置毛玻璃元素的大小、圆角等基本样式:


  filter:blur方法,给元素添加了一个?::before伪类设置blur方法并将其置于底层实现毛玻璃效果。


  backdrop-filter:blur直接在元素上添加blur方法实现毛玻璃效果。

如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h62279.shtml