有没有办法在CKEditor中设置默认字体和字体大小?

有没有办法在CKEditor中设置默认字体和字体大小?,ckeditor,Ckeditor,我已经为此寻找了一段时间的解决方案,我发现的唯一修复只会影响文本在编辑器中的显示方式,而不会影响生成的文本在发送/保存到其他地方时的外观。我说的是CSS修复之类的东西 我正在使用CKEditor通过我们的web应用程序撰写和发送电子邮件,虽然css修复程序更改了编辑器本身显示的字体,但收到的电子邮件仍然显示在TNR或从电子邮件客户端继承的任何内容中。当然,除非我更改了每个段落的字体和大小 据我所知,每当你在插件中设置字体和大小时,CKEditor就会用新更改的样式(例如)创建一个span(实际上

我已经为此寻找了一段时间的解决方案,我发现的唯一修复只会影响文本在编辑器中的显示方式,而不会影响生成的文本在发送/保存到其他地方时的外观。我说的是CSS修复之类的东西

我正在使用CKEditor通过我们的web应用程序撰写和发送电子邮件,虽然css修复程序更改了编辑器本身显示的字体,但收到的电子邮件仍然显示在TNR或从电子邮件客户端继承的任何内容中。当然,除非我更改了每个段落的字体和大小

据我所知,每当你在插件中设置字体和大小时,CKEditor就会用新更改的样式(例如
)创建一个span(实际上是两个,一个是字体,一个是大小),我想我可以用我想要的字体和大小样式将整个结果包装成span或div,但这可能会干扰用户的模板和样式


有没有办法从插件本身设置默认的文本样式(如电子邮件收件人所见),或者我必须想出一个解决办法。

如果你想在编辑器外更改文本样式,那么你必须设置样式。。。外部编辑:)。AFAIK-in-email样式表不能使用,所以剩下的东西就是使用
div
内联样式包装

要在CKEditor中获得相同的结果,您应该编辑
contents.css
,并为
body
设置与
div
包装相同的样式


下一步是从工具栏中删除格式组合,因为它是基于标记的。对于电子邮件,最好使用样式组合,因为您可以定义应用于每个样式的内联样式、标记和属性。选中
styles.js

这是我发现的唯一强制ck编辑器创建默认字体的方法。即使没有选择任何字体,它也会将输入的文本包装在(默认)字体范围内,因此将输出格式化文本。如果希望更改是通用的,请将以下内容添加到config.js。否则,也可以将其添加到一个实例中。虽然我还没试过

config.font_defaultLabel = 'Arial';
这将使下拉列表默认为“Arial”。虽然这也不是我希望的那样。首先,必须激活(而不仅仅是加载)编辑器才能将下拉列表设置为默认值。与手动选择不同,该值不会在下拉框中突出显示。它只是显示

然后将其添加到默认配置选项下面:

CKEDITOR.on( 'instanceReady', function( ev ) {
     ev.editor.setData('<span style="font-family:Arial, Verdana, sans-serif;">&shy;</span>');
});
这似乎相对无害

我一直在寻找更好的方法(如果有人知道的话,我会很乐意)。大多数人只是说捕获输出并重新格式化。那真的不是我的选择。也可以通过自定义插件来实现这一点。这对我来说也不太可行

希望这至少能帮助别人节省一些时间


另外,原件来自CK编辑部的支持委员会。以下是链接:

将其添加到config.js文件中

 CKEDITOR.config.font_defaultLabel = 'Arial';
 CKEDITOR.config.fontSize_defaultLabel = '20'; 

然后,当您的CKEditor被触发时,它将被更改。

非常感谢您,这实际上是唯一对我有效的解决方案。尝试配置content.css没有做任何事情,添加其他选项也没有做任何事情!这确实有效,这是我唯一的办法!尺寸呢
 CKEDITOR.config.font_defaultLabel = 'Arial';
 CKEDITOR.config.fontSize_defaultLabel = '20';