【问题标题】:quilljs replace <strong> with <b>quilljs 将 <strong> 替换为 <b>
【发布时间】:2019-11-12 06:22:35
【问题描述】:

我有一个 Meteor React 应用程序。

我正在使用 Quill,但 bold 会生成 &lt;strong&gt; 标签而不是 &lt;b&gt; 标签。

要通过 dangerouslySetInnerHTML 呈现 HTML,它不会将 &lt;strong&gt; 显示为粗体。

有没有办法让 Quilljs 使用 &lt;b&gt; 而不是 &lt;strong&gt;

【问题讨论】:

  • &lt;b&gt; 是不酷的“展示”标签,而&lt;strong&gt; 是所谓的更“语义”标签,它将意图与外观分开。由您决定如何选择 strong 内容的样式。

标签: reactjs meteor quill


【解决方案1】:

我在这里获取了可用的信息:https://quilljs.com/guides/how-to-customize-quill/#customizing-blots 并将其扩展为包括斜体。

在 chrome 中使用 Quill(此时不使用 Meteor React),使用使用 quill.root.innerHTML 提取的 HTML,&lt;strong&gt;&lt;em&gt; 的使用没有粗体或斜体文本。

以下代码在 quill 库加载后运行并解决了我的这个问题的版本:

// set Quill to use <b> and <i>, not <strong> and <em>

var bold = Quill.import('formats/bold');
bold.tagName = 'b';   // Quill uses <strong> by default
Quill.register(bold, true);

var italic = Quill.import('formats/italic');
italic.tagName = 'i';   // Quill uses <em> by default
Quill.register(italic, true);

【讨论】:

    【解决方案2】:

    为什么不直接添加一个 css 类来使 &lt;strong&gt; 加粗?

    strong {
        font-weight: bold;
    }
    

    【讨论】:

    • 谢谢 - 这很简单 :)
    • 这只是一个肮脏的解决方法,可能适用于网络,但在 iOS 或 Android 中使用结果文本时无法解决问题
    • 仍以 形式存储在数据库中,每个标签对多占用 10 个字节。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-26
    • 2013-01-17
    • 2013-01-22
    相关资源
    最近更新 更多