当前位置: 首页 > Web前端 > HTML

css3filter过滤属性使用

时间:2023-04-02 20:44:10 HTML

最近在修改内网入口的时候,正好遇到需要使用过滤器的地方;一开始我用了两张图;鼠标滑过背景变成渐变色;图标切换;但是背景图标配置好后,鼠标滑过图标无法正常切换;于是想到了filter的效果来处理。于是顺便了解了一下常用的滤镜效果。使用滤镜:前言css3的filter滤镜属性可以对网页中的图片进行类似Photoshop图片处理的效果,通过css对图片进行处理。浏览器支持:只有IE浏览器不支持过滤(filter)属性,为了兼容低版本的safari和google浏览器,需要添加前缀-webkit-。公共属性的语法:filter:none|模糊()|亮度()|对比()|阴影()|灰度()|色调旋转()|反转()|不透明度()|饱和()|棕褐色()|网址();可以同时为同一个元素定义多个CSS滤镜,比如filter:contrast(150%)brightness(1.5),但是不同的滤镜效果是不一样的;默认值For:initialinherit表示从父级继承。注意:过滤器通常使用百分比(如:75%),当然也可以用小数表示(如:0.75)。normal未添加滤镜

normal

grayscaleGrayscale将图像转换为灰度图像。该值定义转换的比例。值为100%将完全转换为灰度图像,值为0%则不会改变图像。如果未设置,该值默认为0。您也可以在0-1之间写入小数。

grayscale

//取值为0-1之间的小数,grayscale(0)原始图像;grayscale(1)变成完全灰色;[data-filter=image-grayscale]img{filter:grayscale(50%);-webkit-filter:灰度(50%);/*Chrome,Safari,Opera*/}saturate当饱和度值为0时,显示黑白。当值为0.5时,饱和度为原图的一半。当该值为1时,表示饱和度与原始图像相同。当该值大于1时,饱和度加强。//(取值为0-1之间的小数)

saturate

饱和度对是颜色强度(纯度)的定义。饱和度画面中色彩的鲜艳度和层次;[data-filter=image-saturate]img{滤镜:饱和(360%);-webkit-filter:饱和(360%);/*Chrome,Safari,Opera*/}sepiaSepia0表示棕色度为0%,显示原图,1表示棕色度为100%,显示棕色。

棕褐色

[data-filter=image-sepia]img{过滤器:棕褐色(100%);-webkit-过滤器:棕褐色(100%);/*Chrome,Safari,Opera*/}invert反转输入图像。该值定义转换的比例。值为100%表示完全反转。值为0%时图像保持不变。0%到100%之间的值是效果的线性乘数。如果不设置该值,则该值默认为0。

invert

[data-filter=image-invert]img{过滤器:反转(100%);-webkit-过滤器:反转(100%);/*Chrome,Safari,Opera*/}opacity图像的透明度。值为0%时完全透明,值为100%时图像保持不变。0-100%之间是部分透明的。您也可以将%替换为0-1之间的小数。它和现有的opacity属性很相似,不同的是通过filter,一些浏览器会提供硬件加速来提高性能。

不透明度

[data-filter=image-opacity]img{filter:opacity(50%);-webkit-filter:不透明度(50%);/*Chrome,Safari,Opera*/}亮度亮度使图像更亮或更暗。如果该值为0%,则图像将完全变黑。值为100%不会导致图像发生任何变化。超过100%的值会使图像比原始图像更亮。如果不设置值,则默认为1。可以用百分比或小数来表示。

亮度

[data-filter=image-brightness]img{滤镜:亮度(120%);-webkit-filter:亮度(120%);/*Chrome,Safari,Opera*/}contrast对比度调整图像的对比度。值为0%时,图像将完全变黑。值为100%时图像保持不变。超过100%的值意味着应用较低的对比度。如果不设置值,则默认为1。可以用百分比或小数来表示。对比度是图像的亮暗程度的定义。对比度是指画面中黑白明暗的高低。

对比度

[data-filter=image-contrast]img{filter:contrast(160%);-webkit-filter:对比度(160%);/*Chrome,Safari,Opera*/}hue-rotate对图像应用色调旋转。让图像中的颜色在色相环中相应地旋转。0deg值表示图像没有变化。如果未设置该值,则默认值为0deg。这个值虽然没有最大值,但是超过360deg的数值就相当于又绕了一圈。

色调旋转

[data-filter=image-hue-rotate]img{过滤器:色调旋转(160度);-webkit-filter:色调旋转(160deg);/*Chrome,Safari,Opera*/}blurBlur为图像设置高斯模糊。值越大,越模糊。默认为0,表示没有模糊。

blur

[data-filter=image-blur]img{滤镜:模糊(2px);-webkit-过滤器:模糊(2px);/*Chrome,Safari,Opera*/}drop-shadow阴影与box-shadow属性非常相似;不同的是,通过过滤器,一些浏览器为了更好的性能会提供硬件加速。

blur

[data-filter=drop-shadow]img{filter:drop-shadow(16px16px20px蓝色);-webkit-filter:阴影(16px16px20px蓝色);/*Chrome,Safari,Opera*/}相较于box-shadow添加阴影属性。

blur

/*添加阴影效果*/[data-filter=box-shadow]img{box-shadow:16px16px20px蓝色;-webkit-filter:box-shadow:16px16px20px蓝色;/*Chrome,Safari,Opera*/}box-shadow和drop-shadow还是有区别的;从效果上来说box-shadow是给整张图片加阴影,而drop-shadow只是给不透明的部分加阴影。multiple多重滤镜效果

blur

/*调整按钮和图片的亮度和对比度*/[data-filter=multiple-filter]img{过滤器:对比度(175%)亮度(3%);-webkit-filter:contrast(175%)brightness(3%);/*Chrome,Safari,Opera*/}融合效果/*模糊混合对比度产生融合效果*/.filter-mix{position:absolute;顶部:50%;左:50%;转换:翻译(-50%,-50%);宽度:300px;高度:200px;过滤器:对比度(20);背景:#fff;}.filter-mix::before{内容:“”;位置:绝对;宽度:120px;高度:120px;边界半径:50%;:#333;顶部:40px;左:40px;z-指数:2;过滤器:模糊(6px);框大小:边框框;动画:filterBallMove4sease-outinfinite;}.filter-mix::after{content:"";位置:绝对;宽度:80px;高度:80px;边界半径:50%;背景:#3F51B5;顶部:60px;右:40像素;z-指数:2;过滤器:模糊(6px);动画:filterBallMove24sease-outinfinite;}@keyframesfilterBallMove{50%{left:140px;}}@keyframesfilterBallMove2{50%{右:140px;}}火焰效果过滤器:contrast()配合过滤器:blur()和动画创建火焰效果滤镜:模糊(20px)对比(30);动画:移动2s无限0.2s线性;scssfilterstyle$filters:(grayscale:'(50%)',//grayscalesaturate:'(360%)',//Saturationsepia:'(100%)',//Sepiainvert:'(100%)',//反色不透明度:'(50%)',//透明度亮度:'(120%)',//亮度对比度:'(160%)',//对比度色调-旋转:'(160deg)',//色调旋转blur:'(2px)',//blurdrop-shadow:'drop-shadow(16px16px20pxblue)',//shadow);@each$type,$filters中的$value{[data-filter="image-#{$type}"]{img{过滤器:#{$type}#{$value};}}}参考文章:https://www.cnblogs.com/coco1s/p/7519460.htmlhttps://www.runoob.com/cssref/css3-pr-filter.htmlhttps://segmentfault.com/a/1190000019267325https://www.sohu.com/a/120823635_473801https://blog.csdn.net/weixin_42703239/article/details/81843093http://www.freejs.net/demo/392/index.网页格式