51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

CSS3 之 filter 属性

一、前言 {#一、前言}

在编写前端页面的动画效果时,或多或少会用到 filter 属性,由于其属性值过多,故本篇用于整理和记录其相关资料。

二、介绍 {#二、介绍}

filter属性定义了元素(通常是)的可视效果。

属性值如下:

| 属性值 | 描述 | |-----------------|--------------------------------| | none | 默认值,没有效果。 | | blur(px) | 给图像设置高斯模糊,则默认值是 0。 | | brightness(%) | 给图片应用一种线性乘法,使其看起来更亮或更暗,默认值是 1。 | | contrast(%) | 调整图像的对比度,默认值是 1。 | | grayscale(%) | 将图像转换为灰度图像,默认值是 0。 | | hue-rotate(deg) | 给图像应用色相旋转,默认值是 0deg。 | | invert(%) | 反转输入图像,默认值是 0。 | | opacity(%) | 转化图像的透明程度,默认值是 1。 | | saturate(%) | 转换图像饱和度,默认值是 1。 | | sepia(%) | 将图像转换为深褐色,默认值是 0。 |

注意:滤镜通常使用百分比 (如:75%), 当然也可以使用小数来表示 (如:0.75)。

三、演示代码 {#三、演示代码}

点击代码块下方运行按钮可查看属性效果:

|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <title>Document</title> <style> .container { margin: 4rem auto; width: 100%; height: auto; text-align: center; } .box { display: inline-block; margin: 1rem; } .box ul { margin: 0; padding: 0; list-style: none; text-align: left; } .box ul li { margin: .25rem 0; padding: .25rem; cursor: pointer; } .box ul li:hover { background-color: #eee; } ul li.active { background-color: #eee; } .box img { width: 260px; height: 260px; } </style> </head> <body> <div class="container"> <h3>点击左侧属性显示效果</h3> <div class="box"> <ul> <li data-p="blur(5px)">filter: blur(5px)</li> <li data-p="brightness(.5)">filter: brightness(.5)</li> <li data-p="contrast(.5)">filter: contrast(.5)</li> <li data-p="grayscale(1)">filter: grayscale(1)</li> <li data-p="hue-rotate(90deg)">filter: hue-rotate(90deg)</li> <li data-p="invert(.4)">filter: invert(.4)</li> <li data-p="opacity(.4)">filter: opacity(.4)</li> <li data-p="saturate(.5)">filter: saturate(.5)</li> <li data-p="sepia(.5)">filter: sepia(.5)</li> </ul> </div> <div class="box"> <div class="origin"> <img src="http://images.extlight.com/bg_1640327432152.jpg" alt=""> </div> <div>原图</div> </div> <div class="box"> <div id="filter"> <img src="http://images.extlight.com/bg_1640327432152.jpg" alt=""> </div> <div id="info">效果图</div> </div> </div> <script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js"></script> <script> $(function() { let $lis = $("li"); $lis.on("click", function() { $lis.removeClass("active"); let p = $(this).addClass("active").data("p"); $("#filter").css({"filter": p}); $("#info").text("filter: " + p); }); }); </script> </body> </html> |

运行

四、参考资料 {#四、参考资料}

菜鸟教程

赞(0)
未经允许不得转载:工具盒子 » CSS3 之 filter 属性