AI智能
改变未来

CSS3之filter(滤镜) 属性

前段时间,4月4号那天,新冠肺炎哀悼日那天,好多网站和APP,主题都变成了灰色,当时就感觉这些网站和APP太有心了。我一直以为这是一套主题呢,后来我查了下实现方式,原来css3有个属性filter,一行代码就能实现。知道了这个方式后也只是记到了脑子里,并没有写下来。前几天一个需求,弹窗背景要做成模糊半透明的效果,查了下实现方式,还是用到了那个filter属性,感觉有必要把这个属性记录下来,加深自己记忆的同时,也分享给大家。

1、主题变成灰色
首先看下效果图,正常情况下

变灰之后

实现方式其实很简单,运用了css3的filter属性,直接上代码:

#box{-webkit-filter: grayscale(100%); /* Chrome, Safari, Opera */filter: grayscale(100%);}

给最外层div设置这个样式,就实现了整站变灰的效果。

2、弹窗背景模糊半透明的效果
设计图是这样的,弹窗背景要半透明,能看到底层的东西,但是底层的东西必须是模糊的。
实现这个效果也很简单,还是用filter属性,具体代码如下:

.bg{-webkit-filter: blur(3px); /* Chrome, Safari, Opera */filter: blur(3px);}

当我用了这两个效果之后,感觉这个filter太强大了,太好用了。就专门查资料,学了一下这个filter,一看不得了,它不仅能实现上面这两种效果,还有很多其他的效果。下面把我学到的记录一下。

// 设置高斯模糊,值越大,越模糊.blur {-webkit-filter: blur(4px);filter: blur(4px);}// 给图片应用一种线性乘法,使其看起来更亮或更暗。// 如果值是0%,图像会全黑。// 值是100%,则图像无变化。// 其他的值对应线性乘数效果。值超过100%也是可以的,图像会比原来更亮。// 如果没有设定值,默认是1。.brightness {-webkit-filter: brightness(30%);filter: brightness(30%);}// 调整图像的对比度。// 值是0%的话,图像会全黑。// 值是100%,图像不变。// 值可以超过100%,意味着会运用更低的对比。// 若没有设置值,默认是1。.contrast {-webkit-filter: contrast(180%);filter: contrast(180%);}// 将图像转换为灰度图像。值定义转换的比例。// 值为100%则完全转为灰度图像,// 值为0%图像无变化。// 值在0%到100%之间,则是效果的线性乘子。// 若未设置,值默认是0;.grayscale {-webkit-filter: grayscale(100%);filter: grayscale(100%);}// 给图像应用色相旋转。// \"angle\"一值设定图像会被调整的色环角度值。// 值为0deg,则图像无变化。// 若值未设置,默认值是0deg。// 该值虽然没有最大值,超过360deg的值相当于又绕一圈。.huerotate {-webkit-filter: hue-rotate(180deg);filter: hue-rotate(180deg);}// 反转输入图像。值定义转换的比例。// 100%的价值是完全反转。// 值为0%则图像无变化。// 值在0%和100%之间,则是效果的线性乘子。// 若值未设置,值默认是0。.invert {-webkit-filter: invert(100%);filter: invert(100%);}// 转化图像的透明程度。值定义转换的比例。// 值为0%则是完全透明,// 值为100%则图像无变化。// 值在0%和100%之间,则是效果的线性乘子,也相当于图像样本乘以数量。// 若值未设置,值默认是1。// 该函数与已有的opacity属性很相似,不同之处在于通过filter,一些浏览器为了提升性能会提供硬件加速。.opacity {-webkit-filter: opacity(50%);filter: opacity(50%);}// 转换图像饱和度。值定义转换的比例。// 值为0%则是完全不饱和,// 值为100%则图像无变化。// 其他值,则是效果的线性乘子。超过100%的值是允许的,则有更高的饱和度。// 若值未设置,值默认是1。.saturate {-webkit-filter: saturate(7);filter: saturate(7);}// 将图像转换为深褐色。值定义转换的比例。// 值为100%则完全是深褐色的,// 值为0%图像无变化。// 值在0%到100%之间,则是效果的线性乘子。// 若未设置,值默认是0;.sepia {-webkit-filter: sepia(100%);filter: sepia(100%);}
赞(0) 打赏
未经允许不得转载:爱站程序员基地 » CSS3之filter(滤镜) 属性