【前端高级特效】使用 CSS 实现毛玻璃模糊背景效果(含完整源码讲解)

【前端高级特效】使用 CSS 实现毛玻璃模糊背景效果(含完整源码讲解)

🌈 一、前言

在现代网页设计中,“毛玻璃(Frosted Glass)”效果几乎是高端 UI 的标配。
无论是登录弹窗、信息卡片、还是仪表盘背景,它都能带来优雅的层次感与视觉柔化效果。

本篇文章将通过 纯 CSS 实现毛玻璃模糊背景特效,无需任何 JavaScript,也不依赖额外库。
代码短小、兼容性强、效果高级,非常适合前端开发者收藏!


🖼️ 二、效果预览

最终效果如下图所示(可自行运行查看动态效果):

背景图片清晰,而中间的内容区域呈现半透明模糊的“玻璃”质感,文字浮在上方清晰可见。

🧩 三、完整源码(可直接复制运行)

以下是完整 HTML + CSS 源码,你可以直接复制运行(放在同目录的 image/4.jpg 即可)。

<!DOCTYPE html> <!--RGBA/HSLA颜色--> <!--把文本层所覆盖的那部分图片区域作模糊处理--> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title></title> <meta name="description"> <meta name="viewport" content="width=device-width, initial-scale=1"> <style> html { width: 100%; height: 100%; /*垂直水平居中*/ display: flex; justify-content: center; align-items: center; margin: 0; } body, main::before { /*背景图*/ background: url(./image/4.jpg) 0 / cover fixed; z-index: -2; } main { width: 800px; height: 300px; display: flex; justify-content: center; align-items: center; border-radius: 10px; position: relative; background: hsla(0, 0%, 100%, .3); overflow: hidden; /*把多余的模糊区域裁切掉*/ } /*伪元素 由于我们不能直接对元素本身进行模糊处理,就对一个伪元素进行处理,然后将其定位到元素的下层,它的背景将无缝 匹配<body>的背景*/ main::before { content: ''; position: absolute; /*所有偏移量置为0,这样将它可以完整地覆盖到<main>元素之上*/ top: 0; right: 0; bottom: 0; left: 0; filter: blur(20px); /*让伪元素相对其宿主元素的尺寸再向外扩大至少30px(即它的模糊半径)*/ margin: -30px; /*background: rgba(255, 0, 0, .5);*/ /*上 右 下 左 */ z-index: -1; } </style> </head> <body> <main> <blockquote> "The only way to get rid of a temptation is to yield to it .<wbr> Resist it, and your soul grows sick with longing for the<wbr> things it has forbidden to itself, with desire for what its<wbr> monstrous laws have made monstrous and unlawful." <footer>—— <cite> Oscar Wilde, The Picture of Dorian Gray </cite> </footer> </blockquote> </main> </body> </html>

🧠 四、实现原理详解

1️⃣ 模糊处理的核心:filter: blur()

filter: blur(20px) 是 CSS 滤镜功能之一,用于对元素内容进行高斯模糊。
但需要注意:

不能直接对主内容进行模糊,否则文字也会变糊。

所以我们引入 伪元素(::before 来专门负责“模糊背景”,而真正的文字内容在其上层展示。


2️⃣ 为什么使用 main::before

因为 main 是内容容器,我们无法单独模糊其背景(CSS 目前不支持“仅模糊背景,不影响子元素”)。
于是创建一个伪元素:

main::before { position: absolute; filter: blur(20px); z-index: -1; } 

这样它会:

  • 完全覆盖 main 元素;
  • 背景与 body 一致;
  • 模糊生效;
  • 不影响文字层。

3️⃣ 解决模糊边缘的“剪切问题”

模糊效果会向外扩散,如果刚好被容器裁掉,就会产生边缘硬线。
解决方法:扩大伪元素范围,使模糊区域完整:

margin: -30px; 

这里的 30px 通常略大于模糊半径。


4️⃣ 半透明白背景叠加效果

background: hsla(0, 0%, 100%, .3); 

通过 hsla 色彩模型实现半透明白底:

  • hsla(0, 0%, 100%, .3) 表示:白色、透明度 30%
  • 与模糊背景叠加后形成柔和的“玻璃感”

🎨 五、细节优化建议

优化项说明示例
边框与阴影增强立体感border: 1px solid rgba(255,255,255,0.3); box-shadow: 0 4px 20px rgba(0,0,0,0.2);
背景过渡模糊动态变化transition: filter .3s ease;
主题变量控制支持自定义模糊强度--blur-radius: 20px; filter: blur(var(--blur-radius));

🧾 六、兼容性与替代方案

现代浏览器(Chrome、Edge、Firefox、Safari)均支持 filter: blur()
部分 Safari 或移动端也支持更高级的 backdrop-filter

backdrop-filter: blur(20px); 

如果项目允许,可直接使用该属性获得更自然的玻璃质感。


🧾 七、知识要点总结

技术点说明
filter: blur()高斯模糊滤镜
::before 伪元素模糊背景的载体
hsla 半透明叠加玻璃质感增强
margin: -30px防止模糊被裁切
z-index 层级控制确保文字清晰可见

通过以上技巧,我们就能在纯 CSS 环境下实现炫酷的 毛玻璃模糊背景特效,这在登录页、卡片、导航栏等场景中都非常实用。


💬 八、示例场景推荐

  • 登录/注册弹窗
  • 卡片式信息展示
  • 背景叠层导航栏
  • 数据仪表盘半透明层
  • 高端落地页标题区

🌟 九、结语

通过本文你不仅能掌握 filter 模糊滤镜的高级用法,还能深入理解伪元素在视觉层的强大作用。
无论是静态网页还是动态组件(如 React/Vue 中的卡片组件),这种技巧都能让你的 UI 立刻提升一个档次。

Read more

Vivado使用教程:图解说明管脚分配全过程

Vivado管脚分配实战指南:从原理到避坑全解析 你有没有遇到过这样的情况?逻辑代码写得完美无缺,仿真波形也完全正确,结果下载到FPGA板子上——灯不亮、通信失败、甚至芯片发热异常。排查半天,最后发现是某个引脚接错了电压标准? 别笑,这在FPGA开发中太常见了。 尤其是在初学阶段,很多人把注意力都放在Verilog或VHDL的语法和状态机设计上,却忽略了 一个比代码更底层、更关键的环节:管脚分配 。 今天我们就来彻底拆解这个“隐形杀手”——用最贴近工程实践的方式,带你一步步搞懂 Vivado中的管脚分配全过程 ,不只是点几下鼠标那么简单,而是理解背后的电气规则、约束机制与系统级影响。 为什么管脚分配不是“随便连一下”? FPGA不像MCU那样有固定的外设映射。它的每个IO引脚都是可编程的,这意味着你可以自由定义哪个引脚做时钟输入、哪个输出控制LED。但自由的背后是责任: 每一个引脚配置都必须符合物理世界的电气法则 。 举个真实案例: 某工程师将一个来自3.3V系统的复位信号接入Bank 14(VCCO=1.8V),没有加电平转换。虽然一开始功能似乎正常,但在高温环境下

无人机遥感航拍巡检数据集 无人机遥感图像识别 无人机视角山区泥石流和滑坡图像识别数据集-数据集第10067期

无人机遥感航拍巡检数据集 无人机遥感图像识别 无人机视角山区泥石流和滑坡图像识别数据集-数据集第10067期

滑坡检测数据集核心信息介绍 ** 这个滑坡检测数据集主要用于目标检测任务,整体数据规模和细节都比较明确。从数量上看,数据集总共包含 1660 张图像, 往期热门主题 主题搜两字"关键词"直达 代码数据获取: 获取方式:***文章底部卡片扫码获取*** 覆盖了YOLO相关项目、OpenCV项目、CNN项目等所有类别, 覆盖各类项目场景(包括但不限于以下----欢迎咨询定制): 项目名称项目名称基于YOLO+deepseek 智慧农业作物长势监测系统基于YOLO+deepseek 人脸识别与管理系统基于YOLO+deepseek 无人机巡检电力线路系统基于YOLO+deepseek PCB板缺陷检测基于YOLO+deepseek 智慧铁路轨道异物检测系统基于YOLO+deepseek 102种犬类检测系统基于YOLO+deepseek 人脸面部活体检测基于YOLO+deepseek 无人机农田病虫害巡检系统基于YOLO+deepseek 水稻害虫检测识别基于YOLO+deepseek 安全帽检测系统基于YOLO+deepseek 智慧铁路接触网状态检测系统基于YOLO+

Trae x Vizro:低代码构建专业数据可视化仪表板的高效方案

Trae x Vizro:低代码构建专业数据可视化仪表板的高效方案

声明:文章为本人真实测评博客,非广告,并没有推广该平台 ,为用户体验文章 目录 * 前言 * 一.核心工具与优势解析 * 低代码高效开发 * 专业视觉设计 * 高度灵活可定制 * AI赋能创新 * 二.操作步骤:从安装到生成效果 * 第一步. 获取MCP配置代码 * 第二步:下载 * 第三步:在 Trae 中导入 MCP 配置并建立连接 * 三. 实战:用Vizro MCP快速构建仪表板 * 1. 提出需求 * 2.智能体生成代码 * 3.查看运行结果 * 4.优化与部署 * 四.Vizro MCP核心功能解析 * get_vizro_chart_or_dashboard_plan * get_model_json_

宇树 G1 机器人开发入门:有线 & 无线连接完整指南

宇树 G1 机器人开发入门:有线 & 无线连接完整指南

适用读者:机器人二次开发者、科研人员 开发环境:Ubuntu 20.04(推荐) 机器人型号:Unitree G1 EDU+ 前言 宇树 G1 是一款面向科研与商业应用的高性能人形机器人,支持丰富的二次开发接口。在正式进行算法调试与功能开发之前,首要任务是建立稳定的开发连接。本文将详细介绍两种主流连接方式:有线(网线直连) 与 无线(WiFi + SSH),并附上完整的配置流程,帮助开发者快速上手。 一、有线连接(推荐新手优先使用) 有线连接通过网线直接将开发电脑与 G1 机器人相连,具有延迟低、稳定性高、不依赖外部网络的优势,是新手入门和底层调试的首选方式。 1.1 前置条件 所需物品说明开发电脑推荐安装 Ubuntu 20.04,或在 Windows 上使用虚拟机宇树 G1 机器人确保已开机且处于正常状态网线(