CSS3 filter(滤镜) 属性

2020-01-08

在vuejs官方网站上,首页下面“赞助商”那个模块,那些logo图片默认是灰白色的,然后页面滚动到一定位置变成彩色的的效果,感觉很有意思。之前实现这样的效果,一般是切2种图片,一种灰白色的,一种彩色的。但是看了vuejs官网,发现他们并不是这样做的,而是用到了css3的filter属性。图片都用彩色的,然后需要置灰的时候,直接:

filter: grayscale(100%);

再配合着opacity和transition属性,可以实现在彩色和灰白色之间比较平滑的渐变切换的效果。然后查了一下,发现css3的filter这个属性还挺有趣的,可以实现很多图片滤镜效果:

CSS3 Filter(滤镜)属性提供了提供模糊和改变元素颜色的功能。CSS3 Fitler 常用于调整图像的渲染、背景或边框显示效果。

-webkit-filter是css3的一个属性,Webkit率先支持了这几个功能,感觉效果很不错。下面咱们就学习一下filter这个属性吧。

现在规范中支持的效果有:

  • grayscale 灰度               值为0-1之间的小数
  • sepia 褐色         值为0-1之间的小数
  • saturate 饱和度     值为num
  • hue-rotate 色相旋转  值为angle
  • invert 反色        值为0-1之间的小数
  • opacity 透明度     值为0-1之间的小数
  • brightness 亮度     值为0-1之间的小数
  • contrast 对比度     值为num
  • blur 模糊           值为length
  • drop-shadow 阴影

没加什么效果的图片:

无效果   -webkit-filter:none;

 1.模糊

-webkit-filter: blur(9px);
filter: blur(9px);

2.灰度

-webkit-filter: grayscale(1);
filter: grayscale(1);

3.亮度

-webkit-filter: brightness(2.3);
filter: brightness(2.3);

4.对比度

-webkit-filter: contrast(4.4);
filter: contrast(4.4);

5.饱和度

-webkit-filter: saturate(3.6);
filter: saturate(3.6);

6.色相旋转

-webkit-filter: hue-rotate(185deg);
filter: hue-rotate(185deg);

7.反色

-webkit-filter: invert(1);
filter: invert(1);

8.阴影

-webkit-filter: drop-shadow(0px 0px 5px #000);
filter: drop-shadow(0px 0px 5px #000);

9.透明度

-webkit-filter: opacity(55%);
filter: opacity(55%);

10.褐色

-webkit-filter: sepia(0.77);
filter: sepia(0.77);

参考: https://www.cnblogs.com/sweeeper/p/10938334.html

发表评论

邮箱地址不会被公开。 必填项已用*标注