在前端开发中,给图片添加滤镜效果是很常见的需求,很多开发者会疑惑HTML图片滤镜效果怎么应用。其实HTML本身没有原生的滤镜功能,我们需要借助CSS的filter属性来实现各类图片滤镜效果,操作起来非常简单。

CSS filter属性基础
CSS的filter属性可以为元素(尤其是图片、背景等视觉元素)添加模糊、颜色偏移等图形效果,所有主流浏览器都支持该属性。它的语法格式如下:
/* 基础语法 */ filter: 滤镜函数(参数); /* 多个滤镜叠加 */ filter: 滤镜函数1(参数1) 滤镜函数2(参数2);
常用滤镜效果及使用示例
1. 模糊滤镜blur()
blur()函数可以给图片添加高斯模糊效果,参数值越大模糊程度越高,单位通常是px。
/* 给类名为img-blur的图片添加5px模糊 */
.img-blur {
filter: blur(5px);
}<img src="https://picsum.photos/800/400?random=1" class="img-blur" alt="模糊图片示例" />
2. 灰度滤镜grayscale()
grayscale()函数可以将图片转为灰度图,参数取值为0到1之间,或者0%到100%之间,1或100%表示完全灰度。
/* 给类名为img-gray的图片添加完全灰度效果 */
.img-gray {
filter: grayscale(100%);
}3. 亮度滤镜brightness()
brightness()函数可以调整图片的亮度,参数小于1降低亮度,大于1提升亮度,100%为原始亮度。
/* 给类名为img-bright的图片提升50%亮度 */
.img-bright {
filter: brightness(150%);
}4. 对比度滤镜contrast()
contrast()函数可以调整图片的对比度,参数小于1降低对比度,大于1提升对比度,100%为原始对比度。
/* 给类名为img-contrast的图片提升30%对比度 */
.img-contrast {
filter: contrast(130%);
}5. 饱和度滤镜saturate()
saturate()函数可以调整图片的饱和度,参数小于1降低饱和度,大于1提升饱和度,100%为原始饱和度。
/* 给类名为img-saturate的图片降低50%饱和度 */
.img-saturate {
filter: saturate(50%);
}多滤镜叠加使用
如果需要同时应用多个滤镜效果,只需要在filter属性中空格分隔多个滤镜函数即可,执行顺序从左到右。
/* 同时应用模糊、灰度、亮度调整三个滤镜 */
.img-multi-filter {
filter: blur(2px) grayscale(50%) brightness(120%);
}滤镜应用注意事项
- filter属性会影响元素的所有视觉表现,如果元素有子元素也会被一同应用滤镜,必要时可以使用伪元素单独处理图片。
- 部分老旧浏览器可能对部分滤镜函数支持不完善,实际开发中可以添加浏览器前缀提升兼容性,比如
-webkit-filter。 - 过度使用滤镜或者叠加过多滤镜可能会影响页面渲染性能,尤其是处理大尺寸图片时,需要合理控制滤镜的使用数量。
提示:除了上述提到的滤镜函数,CSS filter还支持sepia()(褐色滤镜)、hue-rotate()(色相旋转)、invert()(反相滤镜)等,使用方式和上述示例类似,只需要替换对应的函数名和参数即可。
CSS_filterHTML_image前端样式滤镜属性修改时间:2026-05-31 22:24:12