直接改 themes/pmahomme/css/common.css 会失效,因新版 phpMyAdmin(5.2+)启动时校验主题完整性且升级自动覆盖该目录;正确做法是在 ./themes/custom/mytheme 下复制并定制主题,配置 $cfg['ThemePath'] 和 $cfg['ThemeDefault'],同时为 .null 类及 body.darkmode 显式声明样式并加 !important。
直接改 themes/pmahomme/css/common.css 会失效
新版 phpmyadmin(5.2+)启动时校验主题完整性,升级自动覆盖 themes/pmahomme/ 下所有文件。你改了 body 或 .table 的背景色,重启 apache 后没变化,大概率是因为:
– apache 缓存了压缩后的 css(./js/dist/theme.min.css),需手动删掉该文件
– 浏览器缓存了旧 css,得用隐身窗口验证
– twig 模板缓存未清(xampp 用户注意:删 ./tmp/ 目录)
安全改法:建 custom 主题并启用
唯一抗升级、不被覆盖的方式是新建独立主题目录。路径和配置必须严格:
- 在
XAMPP\phpMyAdmin\themes\下新建custom\mytheme - 把整个
pmahomme文件夹复制进去(保留css/、img/、templates/结构) - 编辑
mytheme/css/common.css,重点改这些选择器:.main, body { background-color: #f8f9fa !important; }<br>.header, .toolbar { background-color: #495057 !important; color: #fff !important; }<br>.table td, .table th { color: #212529 !important; } - 在
config.inc.php末尾添加:$cfg['ThemePath'] = './themes';<br>$cfg['ThemeDefault'] = 'mytheme';
NULL 单元格背景色要单独处理
仅改 body 或表格背景色,NULL 单元格仍显示默认白底——因为它由 .null 类控制,且依赖 $cfg['RowHighlighting'] 开关:
- 确认
config.inc.php中有$cfg['RowHighlighting'] = true;(默认已开) - 在
mytheme/css/common.css里追加:.null { background-color: #e8f5e9 !important; color: #1b5e20 !important; } - 若仍不生效,右键一个 NULL 单元格 → “检查元素”,看是否带
class="null";没有则说明主题未渲染该类,换用pmahomme主题再试
暗色模式下 body.darkmode 必须同步覆盖
phpMyAdmin 5.2+ 支持系统级暗色模式,但 body.darkmode 是独立选择器,不继承普通 body 样式:
- 在
mytheme/css/common.css末尾加:body.darkmode { background-color: #212529 !important; }<br>body.darkmode .table td, body.darkmode .table th { color: #e9ecef !important; }<br>body.darkmode .null { background-color: #388e3c !important; } - 不要只靠
@media (prefers-color-scheme: dark),phpMyAdmin 自己用 JS 切换body.darkmode类,CSS 必须显式匹配它 - 改完务必重启 Apache,并在系统设置中开关一次暗色模式触发 JS 重载
$cfg['ThemeDefault'] 指向新主题、body.darkmode 和 .null 这两类选择器在 CSS 中都明确声明且带 !important。漏掉任一,都会出现部分区域颜色回退。php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











