我正在尝试添加自定义字体但不能。我收到以下代码的错误,字体名称是在下拉列表中添加,但它没有改变......
我的代码是
config.js:
CKEDITOR.editorConfig = function( config )
{
config.contentsCss = 'fonts.css';
config.font_names = 'Dekers/dekers_true' + config.font_names;
}
fonts.css:
@font-face {
font-family: "dekers_true", serif;
src: url(fonts/Dekers_light.eot ); /* IE */
src: local("Dekers"), url("fonts/Dekers_light.ttf") format("truetype"); /*non-IE*/
}
答案 0 :(得分:6)
您的自定义CSS文件必须包含CKEditor正文的基本样式。 CKEditor仅在此CSS文件中加载iframe。
@font-face {
font-family: "dekers_true"; /* font name for the feature use*/
src: url(fonts/Dekers_light.eot ); /* IE */
src: local("Dekers"), url("fonts/Dekers_light.ttf") format("truetype"); /*non-IE*/
}
body {
font: normal 13px/1.2em dekers_true, serif;
color: #333;
}
p {
font: normal 13px/1.2em dekers_true, serif;
margin-top: 0;
margin-bottom: 0.5em
}
...
然后将字体声明添加到主站点的CSS文件中。
更新替代变体。 您可以声明自定义样式,例如
config.stylesSet = [
{ name : 'Pretty font face', element : 'span', attributes : { 'class' : 'pretty_face' } },
...
];
因此,将应用类.pretty_face
,您可以根据需要设置样式。如果您想立即预览rte,您还需要在contentsCSS文件中设置此类的样式。
答案 1 :(得分:5)
在config.js中的OR
config.font_names = 'Arial/Arial, Helvetica, sans-serif;' +
'Comic Sans MS/Comic Sans MS, cursive;' +
'Courier New/Courier New, Courier, monospace;' +
'Georgia/Georgia, serif;' +
'Lucida Sans Unicode/Lucida Sans Unicode, Lucida Grande, sans-serif;' +
'Tahoma/Tahoma, Geneva, sans-serif;' +
'Times New Roman/Times New Roman, Times, serif;' +
'Trebuchet MS/Trebuchet MS, Helvetica, sans-serif;' +
'Verdana/Verdana, Geneva, sans-serif;' +
**'Dekers/dekers_true';**
然后你的CSS。 上面将它放在样式下拉列表中,而不是字体。
答案 2 :(得分:0)
如果您使用的是托管字体,并且具有相对简单的用例,则只需将样式表直接添加到config.contentCss
:
config.contentsCss = [ '/css/mysitestyles.css', 'https://fonts.googleapis.com/css?family=Roboto' ]
第一个文件定义了样式(例如.title { font-family: 'Roboto', sans-serif;
),第二个文件是包含字体定义的远程样式表。
现在,自定义字体应该出现在下拉菜单和编辑器中,前提是您已在config.styleSet
中定义了可选样式:
config.styleSet = [ { 'name': 'Title', 'element': 'h1', 'attributes': { 'class': 'title' } ]
我使用CKEditor Django插件对此进行了测试,该语法与上面的语法略有不同,但是我看不出它不会翻译的任何原因。