在 CSS3 中,可以使用 filter 属性来实现图片滤镜效果,这是最常见的做法。下面我按常用滤镜 → 示例 → 进阶用法来讲解。
img {
filter: grayscale(100%);
}
0%:原图100%:完全黑白img {
filter: blur(5px);
}
img {
filter: brightness(1.2);
}
1:原图<1:变暗>1:变亮img {
filter: contrast(150%);
}
img {
filter: saturate(200%);
}
0%:黑白100%:原色>100%:更鲜艳img {
filter: hue-rotate(90deg);
}
img {
filter: invert(100%);
}
img {
filter: drop-shadow(10px 10px 10px rgba(0,0,0,.5));
}
✅ 与 box-shadow 不同,它会跟随图片透明区域
img {
filter: grayscale(100%) brightness(1.2) contrast(120%);
}
⚠️ 顺序会影响最终效果
img {
transition: filter 0.3s ease;
}
img:hover {
filter: grayscale(0%) brightness(1.1);
}
<img src="photo.jpg" class="filter-img">
.filter-img {
width: 300px;
filter: saturate(0.5) contrast(120%);
transition: filter 0.4s;
}
.filter-img:hover {
filter: saturate(1.2) contrast(100%);
}
✅ 支持现代浏览器(Chrome / Edge / Firefox / Safari)
❌ IE 不支持(可用 JS 或 SVG 替代)
::before / ::aftersepia + contrast + brightnessblur()如果你愿意,可以告诉我:
我可以直接帮你写一套完整 CSS ✅
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。