TinyMCE <p>元素在保存时失去了它们的风格

时间:2017-04-12 17:30:09

标签: javascript html css tinymce

我有一个表单,它使用TinyMCE作为表单的一部分。在其配置中,我目前正在为<p>元素应用保证金样式:

    tinymce.init({
        selector : 'textarea',
        //some other attributes
        content_style: "p {margin: 0}",
    });

就TinyMCE窗口本身的显示而言,这可以正常工作,但是当我将文本保存到我的数据库中时,<p>标记内不存在边距样式。

由此产生的问题是,当我在&#34;其他&#34;上显示文本时页面我没有保留所需的保证金风格。

我的问题:有没有办法保留为TinyMCE配置的应用样式标记?

我尝试了以下属性,但似乎都没有:

    extended_valid_elements : "p[style]" //didn't work
    inline_styles : true //didn't work
    valid_elements: "#p[style]" //didn't work

任何帮助将不胜感激!我确定答案就在我面前!

1 个答案:

答案 0 :(得分:0)

当您在TinyMCE中进行编辑时,content_style所做的就是将HTML添加到HTML文档的头部。它不会将任何内联CSS添加到您创建的实际HTML中。

如果您通过content_style将任何CSS传递到TinyMCE,则在渲染内容时应使相同的CSS可用,以便生成的可视化结构相同。

编辑(根据您的评论):

您可以使用TinyMCE API以编程方式将类添加到给定元素。例如:

tinyMCE.activeEditor.dom.addClass(tinyMCE.activeEditor.dom.select('p'), 'myclass');

...与我的初始评论一样,这将要求myclass类存在于呈现内容时页面中的CSS中。

无论哪种方式,您仍然需要在渲染页面中使用一些CSS来应用您想要的样式。