Добавление пользовательских стилей в CKEditor - PullRequest
15 голосов
/ 20 января 2010

Я недавно добавил CKEditor в свое приложение, и я хотел бы включить свои собственные таблицы стилей CSS в редактор, чтобы я мог выбрать их в редакторе.

Как мне это сделать? Мой код до сих пор выглядит так:

<script type="text/javascript">

    CKEDITOR.replace( 'editor1',{
        uiColor : '#9AB8F3',
    });

</script>

Ответы [ 6 ]

41 голосов
/ 24 июня 2011
<script type="text/javascript">
  // This code could (may be should) go in your config.js file
  CKEDITOR.stylesSet.add('my_custom_style', [
    { name: 'My Custom Block', element: 'h3', styles: { color: 'blue'} },
    { name: 'My Custom Inline', element: 'span', attributes: {'class': 'mine'} }
  ]);
  // This code is for when you start up a CKEditor instance
  CKEDITOR.replace( 'editor1',{
    uiColor: '#9AB8F3',
    stylesSet: 'my_custom_style'
  });
</script>

Вы также можете прочитать полную документацию синтаксиса stylesSet.add:

14 голосов
/ 25 июля 2013

Это работает для меня

CKEDITOR.addCss('body{background:blue;}');
8 голосов
/ 22 февраля 2012

Как уже упоминалось, есть страница, объясняющая, как настроить набор пользовательских стилей . Маленькая драгоценность, скрытая на этой странице (и не совсем понятная), заключается в том, что вместо создания именованного набора стилей вы можете определить встроенные стили в своей конфигурации, например:

    stylesSet : [
    {
        name : 'Green Title',
        element : 'h3',
        styles :
        {
            'color' : 'Green'
        }
    } ],
5 голосов
/ 24 января 2011

Здесь немного поздно, но стили по умолчанию - _source/plugins/styles/styles/default.js. Вы можете использовать это в качестве конфигурации стиля и добавлять стили, и это будет эффективно добавляться.

4 голосов
/ 05 марта 2014

Лучше всего использовать этот плагин: http://ckeditor.com/addon/stylesheetparser

Вставьте его в каталог 'ckeditor / plugins', затем включите что-то вроде этого в ваш 'ckeditor / config.js':

config.extraPlugins = 'stylesheetparser';
config.contentsCss = '/css/inline-text-styles.css';
config.stylesSet = [];

Где '/css/inline-text-styles.css' - это путь к вашей собственной папке css в веб-корне вне ckeditor. Это избавляет вас от необходимости смешивать CSS с Javascript.

0 голосов
/ 29 марта 2010

Пожалуйста, посмотрите на ответ @metavida для лучшего ответа, чем этот

<script type="text/javascript">

    CKEDITOR.replace( 'editor1',{

          uiColor : '#9AB8F3',
          stylesSet.add('default', [
               { name: 'My Custom Block', element: 'h3', styles: { color: 'Blue'} },
               { name: 'My Custom inline style', element: 'q'}
          ]);    
    });

</script>

Хотя, если вы используете это более чем в одном месте, было бы лучше посмотреть, поместив это в файл stylescombo \ styles \ default.js и обновив файл config.js соответствующим образом согласно API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...