【问题标题】:stylesheet parser and format combo样式表解析器和格式组合
【发布时间】:2012-08-15 17:28:27
【问题描述】:

我正在使用 ckeditor,并使用 stylesheetparser 从相当长的样式表中加载样式。它可以工作,但我无法让它以我想要的方式在视觉上工作:样式下拉列表将每个样式的定义应用于样式名称的显示;我希望这些是纯文本。具体来说,某些样式的顶部或底部边距较大,这会在下拉内容中留下巨大的空白。

我克隆了 stylesheetparser plugin.js 源代码,并尝试修改将解析后的样式推送到样式列表的代码。我可以成功更改名称,但不能更改名称在列表中的显示方式。如果我更改此代码中的类属性(如下所示),它会更改实际的样式定义,而不仅仅是用于在下拉列表中显示它的样式。

    // Add each style to our "Styles" collection.
    for ( i = 0; i < aClasses.length; i++ )
    {
        var oElement = aClasses[ i ].split( '.' ),
            element = oElement[ 0 ].toLowerCase(),
            sClassName = oElement[ 1 ];

        styles.push( {
            name : element + '.' + sClassName,
            element : element,
            attributes : {'class' : sClassName}
        });
    }

有谁知道如何更改用于在下拉菜单中显示样式的样式?

【问题讨论】:

    标签: ckeditor


    【解决方案1】:

    要改变这一点,您必须使用样式组合插件,而不是样式表解析器,因为它只是填充样式,但显示它们的是组合。

    【讨论】:

    • 非常感谢。对于任何想要使用样式下拉外观的人来说:它内置在嵌套在 editor.ui.addRichCombo 代码中的 loadStylesSet 函数中。在 for 循环中,它调用 combo.add,第二个参数是 HTML 样式如何在下拉列表中显示。将其更改为简单的 'styleName' 而不是调用 buildPreview 函数,您会在下拉列表中获得样式名称的纯文本版本。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-19
    • 1970-01-01
    相关资源
    最近更新 更多