该 importcss 插件增加了从 content_css 配置设置中指定的CSS文件自动导入CSS类的功能。
默认情况下,像 ".my-class"、".my-class1.my-class2" 和 "p.my-class" 这样的选择器会被作为格式规则导入。
基本设置
tinymce.init({
selector: 'textarea', // 根据需要修改此值以适应您的 HTML
plugins: 'importcss',
content_css: '/my-styles.css'
});有关如何使用模块打包器将此插件打包的信息,请参阅 打包 TinyMCE - 概述。
选项
这些设置影响 importcss 插件的执行,特别是这些操作的处理方式。
importcss_append
如果将此选项设置为 true,则会将导入的样式追加到 Format 菜单的末尾,并替换默认格式。
类型: Boolean
默认值: false
可能的值: true、false
示例:使用 importcss_append
tinymce.init({
selector: 'textarea', // 根据需要修改此值以适应您的 HTML
plugins: 'importcss',
content_css: '/my-styles.css',
importcss_append: true
});importcss_exclusive
如果将其设置为 false,则选择器将不会全局独占,意味着它们可以存在于两个独立的组中。这对于希望将".class"导入为段落选择器和 span 格式选择器的情况非常有用。
类型: Boolean
默认值: true
可能的值: true、false
示例:使用 importcss_exclusive
tinymce.init({
selector: 'textarea', // 根据需要修改此值以适应您的 HTML
plugins: 'importcss',
content_css: '/my-styles.css',
importcss_exclusive: false
});importcss_file_filter
此选项允许您添加用于填充样式下拉列表的CSS文件。它将遍历所有 @import 规则,并仅针对指定的文件。此选项可以是 String、RegExp 或 Function。这还允许您以内联模式从当前可编辑页面上的现有文件导入样式。
类型: String、RegExp 或 Function
示例:使用 importcss_file_filter
tinymce.init({
selector: 'textarea', // 根据需要修改此值以适应您的 HTML
plugins: 'importcss',
content_css: '/my-styles.css',
importcss_file_filter: '/my-styles.css'
});使用 importcss_file_filter 的 RegExp 过滤器示例
tinymce.init({
selector: 'textarea', // 根据需要修改此值以适应您的 HTML
plugins: 'importcss',
content_css: '/my-styles.css',
importcss_file_filter: /\/my-styles/
});使用函数过滤器与 importcss_file_filter 的示例
tinymce.init({
selector: 'textarea', // 根据需要修改此值以适应您的 HTML
plugins: 'importcss',
content_css: '/my-styles.css',
importcss_file_filter: (file) =>
file.indexOf('my-styles') !== -1
});importcss_groups
此选项允许将匹配的选择器分组到 Formats 菜单下拉列表的子菜单中。您可以使用 String、RegExp 或 Function 来过滤选择器。您也可以省略过滤器,以将所有不匹配的选择器放入特定组。您还可以指定一个组特定的 selector_converter,以便由该转换器生成特定组的格式。
类型: Array
使用字符串过滤器与 importcss_groups 的示例
tinymce.init({
selector: 'textarea', // 根据需要修改此值以适应您的 HTML
plugins: 'importcss',
content_css: '/my-styles.css',
importcss_groups: [
{ title: 'Table styles', filter: /^(td|tr)\./ }, // td.class 和 tr.class
{ title: 'Block styles', filter: /^(div|p)\./ }, // div.class 和 p.class
{ title: 'Other styles' } // 其他
]
});importcss_merge_classes
此选项用于需要替换或合并 class 属性的情况。例如,如果您有多个类,可以将它们全部应用到同一个元素上。如果将此选项设置为 false,它将始终替换 class 属性的内容。
类型: Boolean
默认值: true
可能的值: true、false
示例:使用 importcss_merge_classes
tinymce.init({
selector: 'textarea', // 根据需要修改此值以适应您的 html
plugins: 'importcss',
content_css: '/my-styles.css',
importcss_merge_classes: false
});importcss_selector_converter
此选项允许您覆盖默认的选择器格式转换器函数。这使您可以手动解析CSS选择器并从中生成格式对象。如果转换器返回false值,则该选择器将被忽略,不进行导入。
类型: Function
示例:使用importcss_selector_converter
tinymce.init({
selector: 'textarea', // 根据HTML修改此值
plugins: 'importcss',
content_css: '/my-styles.css',
importcss_selector_converter: (selector) => {
// 自定义逻辑
}
});importcss_selector_filter
此选项使您只能导入匹配过滤器的选择器中的类。过滤器可以是String、RegExp或Function。请参阅以下示例。
类型: String、RegExp或Function
使用字符串过滤器与importcss_selector_filter的示例
tinymce.init({
selector: 'textarea', // 根据HTML修改此值
plugins: 'importcss',
content_css: '/my-styles.css',
importcss_selector_filter: '.my-prefix-'
});使用RegExp过滤器与importcss_selector_filter的示例
tinymce.init({
selector: 'textarea', // 根据HTML修改此值
plugins: 'importcss',
content_css: '/my-styles.css',
importcss_selector_filter: /\.prefix|\.otherprefix/
});使用函数过滤器与importcss_selector_filter的示例
tinymce.init({
selector: 'textarea', // 根据HTML修改此值
plugins: 'importcss',
content_css: '/my-styles.css',
importcss_selector_filter: (selector) =>
selector.indexOf('myprefix') !== -1
});