一、前言
在编写前端页面的动画效果时,或多或少会用到 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>
|
四、参考资料
菜鸟教程