Как использовать веб-шрифты в designMode?

0

У меня есть текстовый редактор, который использует designMode и <iframe>. Я пытаюсь изменить шрифт на шрифт Google Web. Вот код JavaScript:

function rich(a,b,c) {
    editor.execCommand("styleWithCSS",true,null);
    editor.execCommand(a,b,c);
    editor.focus();
}

HTML для шрифтов:

<select onchange="if (this.selectedIndex > 0) {rich('FontName',false,this.options[this.selectedIndex].text);}">
            <option selected>Font</option>
            <option>Arial</option>
            <option>Times New Roman</option>
            <option>Courier</option>
            <option>Consolas</option>
            <option>Calibri</option>
            <option>Molle</option>
        </select>

В файле <iframe> меня есть следующее:

<link href='https://fonts.googleapis.com/css?family=Molle:400italic' rel='stylesheet' type='text/css'>

Я попытался использовать CSS для изменения текста в правильный шрифт:

span[style="font-family: Molle"] {
    font-family: 'Molle', cursive;     
}

Это не работает. Решение должно работать только в Google Chrome.

  • 0
    Как выглядит HTML для span? У вас есть только один стиль в стартовом теге? А пробел после двоеточия?
  • 0
    Да. <span style="font-family: Molle"></span>
Показать ещё 4 комментария
Теги:
iframe
execcommand

1 ответ

1
Лучший ответ

Как вы загружаете шрифт, загружается только курсивная версия. Поэтому шрифт будет отображаться только в том случае, если вы явно укажете курсив в стиле span.

font-family:'Molle',sans-serif; font-style:italic;

Кстати, вы можете вообще изменить HTML? Если это так, не используйте встроенный стиль, а затем попробуйте переопределить его с помощью таблицы стилей, используя атрибут style для селектора. Он не только выглядит уродливым и неоднородным, но он не будет работать, он ничего не сделает. Атрибут inline style имеет более высокую специфичность, чем таблица стилей.
Либо добавьте выше, как встроенный стиль для span, либо укажите класс span и используйте его в таблице стилей для его адресации.

  • 0
    Нет, я не могу изменить HTML. Теги <span> создаются динамически, когда пользователь меняет шрифт.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню