格式刷
格式刷功能可以让您复制文本格式(例如粗体、斜体、字体大小、颜色等),并将其应用于编辑文档中的其他位置。它有助于保持格式一致,并加快创建丰富内容的速度。
此高级功能是 生产力包 的一部分。生产力包包含在我们的商业许可证中。如果您拥有有效的 CKEditor 5 许可证,请联系您的客户经理以检查您的资格。一些旧版许可证即使有效也不符合生产力包的资格。 联系我们 以了解更多详细信息。
您也可以注册 CKEditor 高级功能 30 天免费试用 以测试此功能。
# 演示
单击要复制格式的文本,然后使用涂刷格式工具栏按钮
复制样式。然后使用鼠标选择目标文本以应用格式。请参见下面的演示以获取有关使用此功能的更多提示。上市产品
新 | 图片 | 名称 | 描述 | 可用性 | 价格 | |
---|---|---|---|---|---|---|
1. | 新品! |
![]() |
Ultima Hikers | 高 | ||
2. | 新品! |
![]() |
Teen Spirit | 闪亮的黄色靴子,让人感觉像是来自过去,但它们是城市和野外步行的一种彻底的现代解决方案。 | 高 | $49.99 $39.99 |
3. | 新品! |
![]() |
Easy Lady | 女士米色靴子,既优雅又实用。高鞋帮在办公室大厅和乡村后院都看起来很棒。 | 高 | $79.99 $69.99 |
4. | 新品! |
![]() |
RoughGyvers | 由可持续生态皮革制成的全天候靴子。全年适合所有户外活动。 | 高 | $49.99 $39.99 |
此演示展示了有限的功能集。访问 功能丰富的编辑器示例 以查看更多实际应用。
-
要复制格式:将光标置于具有某些格式的文本中,然后单击涂刷格式工具栏按钮。请注意,鼠标光标将变为
。 -
要使用复制的格式进行涂刷:单击文档中的任何单词,新的格式将被应用。或者,您也可以选择文本片段(例如整个段落),而不是单击单个单词。请注意,在应用格式后,光标将恢复为默认光标。
-
要使用相同的格式继续涂刷:打开工具栏下拉菜单并启用连续涂刷模式。复制后,可以使用相同的格式在不同的位置多次应用,直到单击涂刷格式按钮(然后光标将恢复为常规光标)。
# 安装
在 安装编辑器 后,将该功能添加到您的插件列表和工具栏配置中。
import { ClassicEditor } from 'ckeditor5';
import { FormatPainter } from 'ckeditor5-premium-features';
ClassicEditor
.create( document.querySelector( '#editor' ), {
// Load the plugin.
plugins: [ FormatPainter, /* ... */ ],
// Provide the licence key (see explanation below)
licenseKey: '<YOUR_LICENSE_KEY>',
// Display the paint formatting button in the toolbar.
toolbar: [ 'formatPainter', /* ... */ ],
} )
.then( /* ... */ )
.catch( /* ... */ );
# 激活功能
要使用此高级功能,您需要使用正确的凭据激活它。有关详细信息,请参阅 许可证密钥和激活 指南。
# 集成
格式刷功能仅支持 文本属性,其中 isFormatting
属性 设置为 true
。
如果您希望您的自定义功能与格式刷兼容,请确保在您的功能的 模式 配置中将 isFormatting
属性设置为 true
。
// Allow myAttribute attribute on text nodes.
editor.model.schema.extend( '$text', { allowAttributes: 'myAttribute' } );
// Integration with the format painter feature.
editor.model.schema.setAttributeProperties( 'myAttribute', {
isFormatting: true
} );
如果您希望为现有的不支持格式刷的功能(例如 链接功能)启用格式刷,请在相关的文本属性上将 isFormatting
属性设置为 true
。
ClassicEditor
.create( document.querySelector( '#editor' ), {
// Load the plugin.
plugins: [ FormatPainter, /* ... */ ],
// Display the paint formatting button in the toolbar.
toolbar: [ 'formatPainter', /* ... */ ],
} )
.then( editor => {
// Enable format painter for links. The link feature uses the "linkHref" text attribute.
editor.model.schema.setAttributeProperties( 'linkHref', {
isFormatting: true
} );
} );
您可以使用 CKEditor 5 检查器 来了解其他功能带来的内容的模型结构。
# 限制
并非所有格式都能由格式刷默认处理。
- 目前不支持使用块级格式(如 标题 或 图像样式)进行刷涂。
格式刷也不处理 链接 或 文本高亮。这是因为在 CKEditor 5 中,它们被视为内容的一部分,而不是文本格式。但是,如果需要,您可以 解决此问题。
# 相关功能
以下是一些可以帮助您格式化内容的 CKEditor 5 功能。
- 基本文本样式 – 必要的样式,如 粗体、斜体 等。
- 字体样式 – 控制字体 系列、大小 和 文本或背景颜色。
- 自动格式化 – 使用 Markdown 实时格式化文本。
- 清除格式 – 轻松清除基本的文本格式。
# 通用 API
FormatPainter
插件注册
- 用于工具栏的
'formatPainter'
UI 按钮(下拉菜单)组件。 - 由
CopyFormatCommand
实现的'copyFormat'
命令。 - 由
PasteFormatCommand
实现的'pasteFormat'
命令。
您可以使用编辑器 API 复制当前文档选择的格式。
editor.execute( 'copyFormat' );
复制的格式存储在 copyFormat
命令的值 中。
// Logs the copied formatting.
console.log( editor.commands.get( 'copyFormat' ).value );
可以使用以下代码将先前复制的格式应用于其他位置。
editor.execute( 'pasteFormat' );
我们建议您在开发和调试时使用官方的 CKEditor 5 检查器。它将为您提供有关编辑器状态的大量有用信息,例如内部数据结构、选择、命令等等。
我们每天都在努力使我们的文档保持完整。您是否发现了过时的信息?是否缺少内容?请通过我们的 问题跟踪器 报告。
随着版本 42.0.0 的发布,我们重新编写了大部分文档以反映新的导入路径和功能。我们感谢您的反馈,这将有助于我们确保文档的准确性和完整性。