Как отключить скин диалога CKEditor? - PullRequest
3 голосов
/ 22 сентября 2011

Я надеюсь, что кто-нибудь может дать мне некоторое представление об этом. У меня есть диалоговое окно CKEditor 3.6, которое содержит один элемент типа html и загружает внешнюю страницу (или фактически это содержимое html тела). Таблица стилей для этой страницы загружается загрузчиком ресурсов MediaWiki 1.17. Моя проблема в том, что скин CKEditor имеет приоритет над моей таблицей стилей. В Firebug я даже могу отключить стили CKEditor и посмотреть, как страница приобретает свою первоначальную форму. Есть ли способ отключить таблицу стилей CKEditor для этого диалога или снизить его приоритет? Или любой другой способ решить это? Любые идеи будут оценены.

Обновление: так проще вопрос, как я могу удалить унаследованные свойства CSS, которые нарушают мой дизайн?

1 Ответ

1 голос
/ 08 октября 2011

Пожалуйста, проверьте что-нибудь с Firebug:

Откройте диалоговое окно и щелкните правой кнопкой мыши элемент HTML, содержащий внешнее содержимое, затем выберите «Проверить элемент».

В Firebug выберите панель HTML, затем выберите панель «Стиль» с правой стороны и убедитесь, что параметр «Показывать только примененные стили» не установлен.

Посмотрите на правую часть панели стилей, где показан исходный файл для каждого блока стилей. Видите ли вы, что ваша таблица стилей (из загрузчика ресурсов) предоставляет некоторые из стилей?

Все ли стили из вашей таблицы стилей имеют через них линии, указывающие на то, что они были переопределены?

В прошлом я использовал информацию из панелей HTML и стилей для создания более целенаправленных селекторов для стилей. Возможно, вы сможете переопределить стили редактора, используя этот подход.


Пожалуйста, укажите используемый код:

Какова структура внешнего HTML-контента (включая любые классы, идентификаторы или стили)?

Весь блок заключен в контейнер (div или таблица)?

Ориентирован ли какой-либо из ваших стилей на тег <body> внешней страницы?

Для кода диалогового окна вы можете исключить любую функциональность, если она не имеет отношения к .addClass(). Просто покажите структуру вкладки так:

CKEDITOR.dialog.add( 'Plugin Name', function( editor )
{
  return {
    title : Plugin.title,
    minWidth : 350,
    minHeight : 230,
    contents : [
      {
        id : 'TabId',
        label : Lang.TabId,
        title : Lang.TabId,
        elements :
        [
          {
            id : 'ElementId',
            type : 'html',
            label : Lang.ElementId,
            title : Lang.ElementId,
            style : 'text-align: center;',
            html : '<div>' + Some Content + '</div>',
            children :
            [

Просмотр кода облегчит ответ на ваш вопрос.

Будь здоров,
Джо

...