0

我有一个文本区域,我使用“moono”皮肤替换为 CKEditor 4.1 实例。问题是,即使我将 CKEditor 实例配置为 100%,它的工具栏也会增加我的宽度,这取决于它的按钮数量。

根据我的研究,我了解到它的发生是因为在“moono”皮肤“editor.css”文件中有一个“white-space:nowrap;” 在所有元素上,此定义阻止“.cke_toolbar”对象进入新行,即使是浮动的。

笔记:

  1. 只有当父对象是表格对象时才会出现问题,这就是它可以增加其宽度的原因。
  2. 默认的 CKEditor 宽度是 100%,当它对编辑器说要获取父对象宽度时,所以在我的情况下,我不需要为编辑器设置宽度(或者我可以设置 100%)并且它需要获取父对象宽度。
  3. 为了证明问题出在工具栏中,您可以取消 SJFiddle 项目中的 javascript 注释行,并查看编辑器是否获得了正确的宽度。
  4. 在我的情况下,我不能在工具栏上使用新行,因为文本区域的宽度取决于用户。

有没有办法使用 CKEditor 配置来修复它,或者我必须编辑“editor.css”并删除“white-space:nowrap;” 从“.cke_toolbar”手动?我不喜欢手动操作,因为我不喜欢在升级 CKEditor 版本的任何时候修复它。

jsfiddle.net/royshoa/9c2Xp/2/

4

1 回答 1

1

CKEditor 不会从它替换的 textarea 继承宽度。你需要明确地告诉它它的宽度。

在您的 JSFiddle 中,添加以下内容就足够了:

<script>CKEDITOR.config.width = 250;</script>

它将是 250px 宽。

阅读有关设置配置的更多信息:http ://docs.ckeditor.com/#!/guide/dev_configuration

更新

您遇到过这个问题CKEditor - Webkit Browsers 中的编辑器宽度溢出

已经报道了http://dev.ckeditor.com/ticket/9947并且补丁应该在 4.0.2 中发布,所以大约需要 2 周。

于 2013-02-07T09:14:49.860 回答