css如何调整图片和背景的颜色叠加效果_使用混合模式和透明度调整-css教程

background-blend-mode不能直接混合图片和背景色,只能混合同一background声明中的多图层;需将颜色转为linear-gradient伪图层才能生效,且图层顺序影响混合结果。

background-blend-mode 能否直接混合图片和背景色

不能直接用 background-blend-mode 混合一张图片和纯色背景——它只作用于同一个 background 声明里的多个图层(比如多张背景图、渐变 + 图片),不处理 background-color 与 background-image 的混合。

常见错误是写成这样,结果无效:

div {
  background-color: #ff6b6b;
  background-image: url("photo.jpg");
  background-blend-mode: multiply; /* ❌ 不生效 */
}

正确做法是把颜色也转为一层渐变图层:

div {
  background: linear-gradient(#ff6b6b, #ff6b6b), url("photo.jpg");
  background-blend-mode: multiply;
  background-size: cover;
}
  • linear-gradient(#ff6b6b, #ff6b6b) 是等效于纯色的“伪图层”,才能参与混合
  • 顺序很重要:第一个图层在最上,所以颜色层写在前面时,multiply 会让图片变暗;反过来写图片在前,则颜色层被图片“透出”影响
  • 仅支持 Chrome、Firefox、Safari(iOS ≥13.4),IE 完全不支持

img 元素如何叠加颜色滤镜(非背景)

如果操作的是 标签本身(不是背景图),得靠 mix-blend-mode 或 filter,但两者行为完全不同:

立即学习“前端免费学习笔记(深入)”;

  • mix-blend-mode 是让图片和它「下方的元素」混合(比如父容器背景、文字、其他兄弟元素),不是和自身背景混合
  • filter: opacity() 或 filter: brightness() contrast() hue-rotate() 才是直接作用于图片像素的调整

例如想让图片泛红又半透明:

img {
  filter: opacity(0.8) hue-rotate(-20deg) saturate(1.3);
}

注意:opacity 会同时降低整个元素的透明度(包括边框、文字等),若只想调图片内容,优先用 rgba() 颜色值或 background 方案。

夏夕资源网专注于CMS网站模板,主流语言整站网站源码下载,网站建设相关教程分享,好用的软件素材整合下载,提供一站式便捷自助服务。
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"zy.lucklyus.top",如遇到无法解压的请联系管理员!
夏夕资源网-网站模板_免费源码_资源素材 » css如何调整图片和背景的颜色叠加效果_使用混合模式和透明度调整-css教程
在线时间:12:00 - 22:00
关注微信公众号:微信公众号
站长邮箱:[email protected]
  • 运营天数: 1391+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 3995384+
  • 本周更新: 0+
  • 最后更新: 2026-03-16

本站指数

×
  • 运营天数: 1391+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 3995385+
  • 本周更新: 0+
  • 最后更新: 2026-03-16