background_color控制启动画面底色,theme_color控制浏览器UI色调;前者用于PWA启动屏填充,后者影响地址栏、状态栏等系统UI颜色,二者需明确区分并合理配色以保障跨平台体验一致性。

background_color 和 theme_color 是 Web App Manifest 中两个容易混淆但作用明确的颜色配置项,配得好能让安装后的 PWA 启动更自然、界面更统一。
background_color 控制启动画面底色
这是用户点击主屏幕图标后、页面内容尚未渲染完成前那一瞬间的背景色。浏览器会用它填充整个启动屏(splash screen),直到首屏内容就绪。
- 必须是纯色(十六进制、rgb、rgba 均可,但推荐
#rrggbb格式) - 建议与页面
<body>的初始背景色一致,避免闪白或跳色 - 如果用透明 PNG 图标或有浅色/深色模式切换,可考虑设为中性灰(如
#f5f5f5)
theme_color 控制浏览器 UI 色调
它影响的是地址栏、状态栏(Android)、标题栏(部分桌面 PWA)等系统级 UI 元素的颜色。
- 在 Android Chrome 中直接改变地址栏和底部导航栏颜色
- 在桌面 Edge / Chrome 中影响窗口标题栏(启用 standalone 模式时)
- 可与
background_color相同,也可略深/略浅以形成层次(例如background_color: #ffffff,theme_color: #2a5b8c)
配色建议与常见组合
-
品牌主色统一型:两者都用品牌主色(如
#3367D6),适合强调识别度的工具类应用 -
柔和过渡型:
background_color用浅灰(#f9f9f9),theme_color用品牌色(#4a90e2),视觉更舒适 -
深色模式适配型:若支持暗色主题,可在 manifest 中固定浅色系(因 manifest 不支持媒体查询),靠 CSS
@media (prefers-color-scheme: dark)动态调整页面内 UI,theme_color仍建议设为浅色系以兼容多数安卓设备
注意事项
- 两个字段都必须填写,否则系统可能回退到默认白/黑,破坏品牌一致性
- iOS 不读取
theme_color,仅依赖<meta name="theme-color">标签(需在 HTML<head>中额外声明) -
background_color对 iOS 启动屏无效(iOS 使用静态图片),但它仍影响 Android 和桌面 PWA 的体验
不复杂但容易忽略。


















