You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django CKEditor弹窗背景为黑色看不清内容,如何修改背景色?

问题原因

该弹窗黑背景问题和Django框架、浏览器本身无关,90%以上的场景是项目全局CSS样式和CKEditor弹窗样式冲突导致:CKEditor的弹窗DOM默认会直接插入到页面根节点下,会继承全局对div、body等通用标签设置的背景样式,如果你项目全局配置了黑色背景,就会出现弹窗背景变黑的问题。少数情况是CKEditor皮肤配置错误导致的样式异常。

解决方法

  • 方案1:排查冲突样式
    打开浏览器开发者工具(F12),选中弹窗的外层元素,查看样式面板中被覆盖的背景属性,定位到对应的全局CSS规则,调整选择器精度避免影响CKEditor相关元素。
  • 方案2:强制覆盖CKEditor弹窗样式
    在项目全局CSS文件中添加专属规则,强制指定弹窗背景为浅色:
.cke_dialog,
.cke_dialog_body,
.cke_dialog_contents,
.cke_dialog_page_contents {
    background-color: #ffffff !important;
    color: #222222 !important;
}

如果是在Django admin后台使用,可以通过ModelAdmin的Media类注入修复样式:

from django.contrib import admin
from .models import 你的模型类

class 你的模型类Admin(admin.ModelAdmin):
    class Media:
        css = {
            "all": ("你的CSS文件存储路径/ckeditor_fix.css",)
        }
admin.site.register(你的模型类, 你的模型类Admin)
  • 方案3:指定CKEditor浅色皮肤
    在Django CKEditor配置中增加皮肤配置,使用默认的浅色皮肤:
CKEDITOR_CONFIGS = {
    'default': {
        'toolbar': [["Format", "Bold", "Italic", "Underline", "Strike", "SpellChecker"],
                    ['NumberedList', 'BulletedList', "Indent", "Outdent", 'JustifyLeft', 'JustifyCenter',
                     'JustifyRight', 'JustifyBlock'],
                    ["Image", "Table", "Link", "Unlink", "Anchor", "SectionLink",
                        "Subscript", "Superscript", "Iframe"], ['Undo', 'Redo'],
                    ["Maximize"]],
        'skin': 'moono-lisa',
    },
}

内容的提问来源于stack exchange,提问作者penk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 08:15:04