【前端高级特效】使用 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

智能家居物联网平台

智能家居物联网平台

智能家居物联网平台 基于微服务+微信小程序实现的物联网平台,目前处于软件实现阶段:模拟了智能灯和温湿度感应器的使用状态,后续打算基于STM32制作硬件并接入,接入硬件后会将微信小程序改成Android版本 Gitee地址:仓库链接 技术栈 后端 * JDK:21 * Spring Boot:3.2.5 * Spring Cloud:2023.0.1 * Spring Cloud Alibaba:2023.0.1.0 * Spring Data JPA * Nacos:2.5.2 * MQTT * WebSocket 数据库 * MySQL:8.0 * Redis:6.2.x * Influxdb:2.8.

飞书 × OpenClaw 接入指南:不用服务器,用长连接把机器人跑起来

你想在飞书里用上一个能稳定对话、能发图/收文件、还能按规则在群里工作的 AI 机器人,最怕两件事:步骤多、出错后不知道查哪里。这个项目存在的意义,就是把“飞书接 OpenClaw”这件事,整理成一套对非技术也友好的配置入口,并把官方文档没覆盖到的坑集中写成排查清单。 先说清楚它的角色:OpenClaw 现在已经内置官方飞书插件 @openclaw/feishu,功能更完整、维护也更及时。这是好事,说明飞书 + AI 的接入已经走通。这个仓库并不是要替代官方插件,而是继续为大家提供: * 新用户:从零开始的新手教程(15–20 分钟) * 老用户:从旧版(独立桥接或旧 npm 插件)迁移到官方插件的保姆级路线 * 常见问题答疑 & 排查清单(最常见的坑优先) * 进阶场景:独立桥接模式依然可用(需要隔离/定制时再用) 另外,仓库也推荐了一个新项目

Java Web 桂林旅游景点导游平台系统源码-SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0【含文档】

Java Web 桂林旅游景点导游平台系统源码-SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0【含文档】

系统架构设计### 摘要 随着信息技术的快速发展,智慧旅游逐渐成为提升旅游体验的重要方向。桂林作为中国著名的旅游城市,拥有丰富的自然景观和人文资源,但传统的旅游信息服务模式存在信息分散、更新滞后、用户体验不佳等问题。游客在规划行程时往往需要从多个平台获取信息,效率较低。因此,开发一个集景点介绍、路线规划、用户评价等功能于一体的智能化导游平台具有重要的现实意义。该平台旨在通过技术手段整合桂林旅游资源,为游客提供一站式服务,提升旅游体验的便捷性和个性化。关键词:智慧旅游、桂林、导游平台、资源整合、用户体验。 本系统采用前后端分离架构,后端基于SpringBoot2框架搭建,结合MyBatis-Plus实现高效的数据操作,数据库选用MySQL8.0以支持高并发访问。前端使用Vue3框架开发,利用其响应式特性提升用户交互体验。系统功能涵盖景点信息展示、用户评论管理、路线推荐、订单管理等模块,并通过JWT实现安全的用户认证。系统设计注重可扩展性和可维护性,采用RESTful API规范进行接口设计,确保前后端高效协作。关键词:SpringBoot2、Vue3、MyBatis-Plus、MyS

【关注可白嫖源码】--49931基于Java Web的在线考试系统的设计

【关注可白嫖源码】--49931基于Java Web的在线考试系统的设计

摘  要 随着信息技术的不断发展,传统的纸质考试和人工评分方式已经逐渐无法满足现代教育的需求,尤其是在大规模考试的管理和成绩分析方面。为了解决这一问题,本论文设计并实现了一套基于Java Web技术的在线考试系统。系统采用Spring Boot框架、Java语言和MySQL数据库进行开发,旨在为学生、教师和管理员提供一个高效、便捷、安全的在线考试平台。 系统主要包括学生、教师和管理员三个角色,每个角色拥有不同的功能模块。学生用户可以进行在线考试、查看考试资讯、浏览通知公告、查看个人账户信息以及错题记录等;教师用户可以管理试题库、生成试卷、批改考试并对学生成绩进行统计分析;管理员则负责系统用户管理、轮播图管理、资源管理等后台操作,确保平台的顺利运行。 系统采用模块化设计,前端通过现代Web技术提供直观且易操作的用户界面,后端使用Spring Boot框架进行构建,保证了系统的稳定性与可扩展性。MySQL数据库用于存储用户信息、试题库、考试记录和成绩数据,确保数据的安全性和高效访问。 本系统的实现不仅能够提升在线考试的效率,降低管理成本,还能为教育机构提供精确的考试数据分析和实时反