可用CSS的box-shadow或filter: drop-shadow()实现图片光晕效果:box-shadow兼容性好、可精确控制偏移/模糊/扩展半径;drop-shadow()贴合图像轮廓,适合透明PNG;叠加多层阴影增强层次;配合径向渐变背景提升表现力。

可以用 CSS 的 box-shadow 或 filter: drop-shadow() 给图片添加光晕效果,核心是让阴影柔和、扩散、颜色偏白或浅色,模拟发光感。
用 box-shadow 实现基础光晕
这是最常用、兼容性好、控制精细的方法。给 <img> 元素直接加样式:
img {
box-shadow: 0 0 20px 8px rgba(255, 255, 255, 0.6);
}
- 前两个 0:水平和垂直偏移,设为 0 让光晕居中环绕
- 20px:模糊半径,值越大越“散”,光晕越柔和
- 8px:扩展半径,让光晕向外再撑开一点,增强包围感
-
rgba(255,255,255,0.6):白色带透明度,可换成浅黄
rgba(255,250,200,0.7)模拟暖光
用 filter: drop-shadow() 做更自然的外发光
相比 box-shadow,drop-shadow() 会跟随图片轮廓(包括透明区域),更适合 PNG 图标或不规则图形:
将调研报告、方案对比、数据分析、需求梳理、会议纪要、设计说明、代码评审、学习笔记等任务产物输出为可在浏览器直接打开的单文件 HTML,替代 Markdown 作为最终交付物。Markdown 在信息密度、视觉清晰度和可分享性上已跟不上 AI 产物的丰富度,HTML 能同时承载排版、表格、SVG 等。
img {
filter: drop-shadow(0 0 15px rgba(255, 255, 255, 0.8));
}
- 参数含义与
box-shadow类似,但不支持扩展半径(没有第四个值) - 对有透明背景的图片效果更贴合边缘,不会在透明区“硬框”出矩形光晕
- 注意:IE 不支持,现代浏览器均可用
叠加多层阴影增强层次感
单层光晕有时显得单薄,可叠加两层不同模糊度的阴影,模拟真实辉光:
立即学习“前端免费学习笔记(深入)”;
img {
box-shadow:
0 0 12px 4px rgba(255, 255, 255, 0.4),
0 0 28px 10px rgba(255, 255, 220, 0.3);
}
- 第一层:小而亮,贴近图片边缘
- 第二层:大而淡,向外弥散,形成“晕开”的纵深感
- 颜色可微调色相(如略带米白、淡金),避免纯白显得刺眼
配合 background 或伪元素做背景衬托
如果图片本身较暗或背景复杂,光晕可能不明显。可在图片外层加一个浅色圆形背景作衬底:
<div class="glow-container"> <img src="icon.png" alt="logo"> </div>
.glow-container {
display: inline-block;
padding: 12px;
border-radius: 50%;
background: radial-gradient(circle, rgba(255,255,255,0.3), transparent 70%);
}
.glow-container img {
box-shadow: 0 0 16px rgba(255,255,255,0.7);
}
- 用
radial-gradient做柔边浅色圆底,强化中心聚焦感 - 内边距
padding留出光晕空间,避免被裁切 - 适合头像、图标、徽章等小图场景


















