返回介绍

Import CSS plugin

发布于 2019-05-06 06:50:35 字数 6621 浏览 791 评论 0 收藏 0

The importcss plugin adds the ability to automatically import CSS classes from the CSS file specified in the content_css configuration setting.

By default selectors like ".my-class", ".my-class1.my-class2" and "p.my-class" get imported as format rules.

Type: String

Example
tinymce.init({
  selector: "textarea",  // change this value according to your HTML
  plugins: "importcss",
  menubar: "format",
  content_css: "/my-styles.css"
});

Options

These settings affect the execution of the importcss plugin, specifically the way that these operations are handled.

importcss_append

If set to true this option will append the imported styles to the end of the Format menu and will replace the default formats.

Type: Boolean

Default Value: false

Example
tinymce.init({
  selector: "textarea",  // change this value according to your HTML
  plugins: "importcss",
  menubar: "format",
  content_css: "/my-styles.css",
  importcss_append: true
});

importcss_file_filter

This option enables you to add the CSS files that should be used for populating the styles drop down. This will go through any @import rules and only target the specified file. This option can be either a string, regexp or a function. This also allows you to import styles form existing files on the currently editable page in inline mode.

Type: String

Example
tinymce.init({
  selector: "textarea",  // change this value according to your HTML
  plugins: "importcss",
  menubar: "format",
  content_css: "/my-styles.css",
  importcss_file_filter: "/my-styles.css"
});

importcss_selector_filter

This option enables you to only import classes from selectors matching the filter. The filter can be a string, regexp or a function. See the examples below.

Type: String

Example of usage with string filter:

tinymce.init({
  selector: "textarea",  // change this value according to your HTML
  plugins: "importcss",
  menubar: "format",
  content_css: "/my-styles.css",
  importcss_selector_filter: ".my-prefix-"
});

Example of usage with RegExp filter

tinymce.init({
  selector: "textarea",  // change this value according to your HTML
  plugins: "importcss",
  menubar: "format",
  content_css: "/my-styles.css",
  importcss_selector_filter: /\.prefix|\.otherprefix/
});

Example of usage with function filter

tinymce.init({
  selector: "textarea",  // change this value according to your HTML
  plugins: "importcss",
  menubar: "format",
  content_css: "/my-styles.css",
  importcss_selector_filter: function(selector) {
    return selector.indexOf('myprefix') !== -1;
  }
});

importcss_groups

This option enables group matching selectors into submenus in the Formats menu dropdown. You can use a string, regexp or a function to filter selectors. You can also omit the filter to get all non-matching ones into a specific group. You can also specify a group specific selector_converter so that formats for a specific group are produced by that converter.

Example of usage with string filter

tinymce.init({
  selector: "textarea",  // change this value according to your HTML
  plugins: "importcss"
  menubar: "format",
  content_css: "/my-styles.css",
  importcss_groups: [
    {title: 'Table styles', filter: /^(td|tr)\./}, // td.class and tr.class
    {title: 'Block styles', filter: /^(div|p)\./}, // div.class and p.class
    {title: 'Other styles'} // The rest
  ]
});

importcss_merge_classes

This option is used in cases where the class attribute should be replaced or merged. For example, if you have multiple classes you can apply all of them to the same element. If this option is set to false it will always replace the contents of the class attribute.

Type: Boolean

Example
tinymce.init({
  selector: "textarea",  // change this value according to your html
  plugins: "importcss"
  content_css: "/my-styles.css",
  menubar: "format",
  importcss_merge_classes: false
});

importcss_selector_converter

This option allows you to override the default selector to format converter function. This allows you to parse the CSS selectors manually and produce format objects out of them. If the converter returns a false value the selector is ignored from import.

Type: String

Example
tinymce.init({
  selector: "textarea",  // change this value according to your HTML
  plugins: "importcss"
  content_css: "/my-styles.css",
  menubar: "format",
  importcss_selector_converter: function(selector) {
    // Custom logic
  }
});

importcss_exclusive

If set to false then selectors will not be globally exclusive meaning they can exist in two separate groups. This can be useful for scenarios where you want to have a “.class” imported as a paragraph selector and as a span format selector.

Type: Boolean

Default Value: true

// Sample compressed stylesheet:

/* Normalize */
article, aside, footer, header, main, nav, section {display: block;}

/* jQueryUI */
.ui-helper-hidden { display: none; }

/* Custom Styles */
.myCustomStyleStart {display:none;}
       // INCLUDE ALL MY CLASSES HERE IN THE Formats menu!
.myCustomStyleEnd {display:none;}

/* Any other possible styles afterward ... */
var keepSelector = false;
tinymce.init({
  importcss_selector_converter: function(selector) {
    if (selector == '.myCustomStyleStart') {
      keepSelector = true;
      return false;
    } else if (selector == '.myCustomStyleEnd') {
      keepSelector = false;
    }
    if (!keepSelector ) {
      return false;
    }
    return this.convertSelectorToFormat(selector);
  }
});

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文