当前位置: 首页 > news >正文

css中backdrop-filter 详细使用 ios毛玻璃效果、filter和backdrop-filter使用说明

🎨 CSS backdrop-filter 全面指南

backdrop-filter 是一种可以对 元素后面的内容 应用图像处理效果的 CSS 属性,常用于实现类似 iOS 界面的「毛玻璃」效果。


🧩 一、作用简介

backdrop-filter 会对元素 背后的内容区域 应用模糊、亮度、对比度等滤镜,而不是作用于自身。

属性作用对象常用场景
filter对元素本身生效图片模糊、灰度处理
backdrop-filter对元素背景内容生效毛玻璃、模糊弹窗、半透明导航栏

🧠 二、基本语法

backdrop-filter: <filter-function> [<filter-function>]*;

示例:

backdrop-filter: blur(10px) brightness(1.2) contrast(0.8);

常用滤镜函数

滤镜函数说明示例
blur(px)模糊背景blur(20px)
brightness(%)调整亮度brightness(1.5)
contrast(%)调整对比度contrast(0.8)
saturate(%)饱和度saturate(2)
grayscale(%)灰度grayscale(0.5)
sepia(%)棕褐色滤镜sepia(0.8)
hue-rotate(deg)色相旋转hue-rotate(180deg)
opacity(%)背景透明度opacity(0.6)

可以组合使用:

backdrop-filter: blur(20px) saturate(150%) brightness(120%);

iOS 毛玻璃效果示例

<div class="glass"><h3>毛玻璃面板</h3>
</div>
body {background: url('https://picsum.photos/800/600') no-repeat center/cover;height: 100vh;margin: 0;
}.glass {width: 300px;height: 200px;border-radius: 20px;background: rgba(255, 255, 255, 0.2); /* 半透明背景 */backdrop-filter: blur(15px) saturate(120%);-webkit-backdrop-filter: blur(15px) saturate(120%);border: 1px solid rgba(255, 255, 255, 0.3);display: flex;align-items: center;justify-content: center;color: white;margin: 100px auto;
}

背景模糊、柔和半透明,类似 iOS 控制中心 / Dock。

搭配建议

功能推荐写法
半透明背景background: rgba(255, 255, 255, 0.1~0.3)
圆角border-radius: 20px
边框border: 1px solid rgba(255, 255, 255, 0.3)
投影box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1)

浏览器兼容性(2025)

平台支持情况备注
iOS Safari 9+✅ 完美支持
macOS Safari 9+
Chrome 76+
Edge 79+
Firefox⚠️ 需开启 layout.css.backdrop-filter.enabled
Android Chrome WebView✅(部分旧机卡顿)
微信小程序⚠️ 部分平台支持

为了兼容 Safari,建议加前缀

-webkit-backdrop-filter: blur(10px);
backdrop-filter: blur(10px);

底部导航栏(实战示例)

.bottom-nav {position: fixed;bottom: 20rpx;left: 50%;transform: translateX(-50%);width: 90%;height: 120rpx;display: flex;justify-content: space-around;align-items: center;border-radius: 40rpx;background: rgba(255, 255, 255, 0.15);backdrop-filter: blur(25rpx) saturate(180%);-webkit-backdrop-filter: blur(25rpx) saturate(180%);border: 1px solid rgba(255, 255, 255, 0.2);
}

🎨 CSS 滤镜对比与详解:filter vs backdrop-filter

🧩 一、核心区别概览

特性filterbackdrop-filter
作用对象对元素自身(及其内容)生效对元素背后的背景内容生效
是否影响子元素✅ 会影响❌ 不会影响(作用于背景)
常见用途模糊图片、灰度图标、亮度调节等毛玻璃效果、半透明模糊背景
是否需要透明背景✅ 需要透明度(否则看不到模糊)
性能消耗较低(仅处理自身)较高(处理背景内容)
浏览器支持广泛支持Safari/Chrome 支持良好,Firefox 需手动开启
示例效果模糊图片、变灰iOS 毛玻璃、半透明底栏

🧠 二、基础语法对比

/* 作用于自身内容 */
filter: blur(10px) brightness(1.2);/* 作用于背景内容 */
backdrop-filter: blur(20px) saturate(180%);

filter 属性详解

**filter ** 用于对 元素本身的渲染结果 进行图像处理。

✅ 常用滤镜函数

函数说明示例
blur(px)模糊处理(像素越大越模糊)filter: blur(10px);
brightness(%)调整亮度,>1 更亮,<1 更暗filter: brightness(1.5);
contrast(%)调整对比度filter: contrast(0.8);
grayscale(%)灰度转换filter: grayscale(1);(全灰)
invert(%)颜色反转filter: invert(1);(反色)
saturate(%)饱和度调节filter: saturate(2);(更艳)
sepia(%)棕褐色滤镜filter: sepia(1);
opacity(%)调整透明度filter: opacity(0.5);
hue-rotate(deg)色相旋转(0°~360°)filter: hue-rotate(180deg);
drop-shadow()添加阴影(比 box-shadow 更准确)filter: drop-shadow(0 0 10px rgba(0,0,0,0.5));
  1. 图片模糊与亮度调节
<img src="photo.jpg" class="photo" />
.photo {width: 300px;filter: blur(5px) brightness(1.3) contrast(0.8);
}

效果:图片模糊、稍亮、对比度降低

  1. 灰度图标
.icon {filter: grayscale(1);
}
.icon:hover {filter: grayscale(0);transition: filter 0.3s;
}

效果:默认灰色图标,悬停恢复彩色

backdrop-filter 属性详解

backdrop-filter 用于对 元素背后的内容区域 进行图像处理。

  1. iOS 风格的「毛玻璃背景」
  2. 半透明弹窗
  3. 模糊底部导航栏
  4. 背景模糊遮罩层
    backdrop-filter 只对透明区域生效
.glass {background: rgba(255, 255, 255, 0.3); /* 必须半透明 */backdrop-filter: blur(20px);-webkit-backdrop-filter: blur(20px); /* Safari */
}

毛玻璃底部导航栏

.bottom-nav {position: fixed;bottom: 20rpx;left: 50%;transform: translateX(-50%);width: 90%;height: 120rpx;border-radius: 40rpx;background: rgba(255, 255, 255, 0.15);backdrop-filter: blur(25rpx) saturate(180%);-webkit-backdrop-filter: blur(25rpx) saturate(180%);border: 1px solid rgba(255, 255, 255, 0.2);
}

类似 iPhone Dock 底栏。

两者组合使用示例

.blur-box {filter: brightness(1.2); /* 调整自身亮度 */backdrop-filter: blur(10px); /* 模糊背景 */background: rgba(255, 255, 255, 0.2);
}

性能优化建议

项目建议
模糊区域控制尺寸,不宜过大
动画性能使用 GPU 加速,避免频繁重绘
动态背景尽量减少滤镜层叠
移动端谨慎使用高强度 blur()(耗性能)
http://www.dtcms.com/a/557092.html

相关文章:

  • 通过神经网络手搓一个带finetune功能的手写数字识别来学习“深度神经网络”
  • 开发一个企业网站要多少钱青岛房产信息网
  • Linux运维核心命令(入门)
  • Redis_3_Redis介绍+常见命令
  • 企业实训|AI技术在产品研发领域的应用场景及规划——某央企汽车集团
  • linux系统移植过程中挂死问题分析
  • C++笔记:std::variant
  • day03(11.1)——leetcode面试经典150
  • 《算法通关指南:数据结构和算法篇 --- 顺序表相关算法题》---移动零,颜色分类
  • 视觉差网站制作百度站长统计
  • 求职专栏-【面试-自我介绍】
  • Chroma向量数据库详解:高效向量检索在AI应用中的实践指南
  • 【开题答辩全过程】以 风聆精酿啤酒销控一体系统的设计与实现为例,包含答辩的问题和答案
  • 二.docker安装与常用命令
  • 珠海网红打卡景点网站排名优化首页
  • 计算机网络Day01
  • QCES项目Windows平台运行指南
  • 多线程编程:条件变量、同步、竞态条件与生产者消费者模型
  • 怎么做高端品牌网站设计潍坊市住房和城乡建设网站
  • 哪个协会要做网站建设啊甘肃做网站哪家专业
  • springcloud : 理解Sentinel 熔断与限流服务稳定性的守护神
  • Webpack Tree Shaking 原理与实践
  • 一文讲透 npm 包版本管理规范
  • Qt 绘画 Widget 详解:从基础到实战
  • 【计算机网络】深入理解网络层:IP地址划分、CIDR与路由机制详解
  • 力扣3281. 范围内整数的最大得分
  • 力扣hot100----15.三数之和(java版)
  • 网站建设最重要的是什么什么是网站的主页
  • 影视传媒网站源码成华区建设局网站
  • 快速搭建网站 开源网络营销推广的目的是什么