在Editor
中, 一些block样式会被赋予默认的样式,这是为了减少开发者做的必要的基础配置。
通过在Editor
组件上声明一个blockStyleFn
props函数,可以在渲染的时候为块类型元素加上指定的类名。
DraftStyleDefault.css
在DraftStyleDefault.css中,Draft
库包含了默认的块类型元素的CSS样式。(请注意,CSS类名上的注释是Facebook内部CSS模块管理系统的产物。)
这些CSS规则主要用于为列表项提供默认样式,没有这些样式,开发者将负责管理自己的默认列表样式。
blockStyleFn
在Editor
组件上的blockStyleFn
的props函数,允许你在渲染的时候去定义块类型元素的样式的CSS类名。
例如,您可能希望将“blockquote”
类型的块类型元素样式设置为花里胡哨的斜体文本。
function myBlockStyleFn(contentBlock) {
const type = contentBlock.getType();
if (type === 'blockquote') {
return 'superFancyBlockquote';
}
}
// Then...
import {Editor} from 'draft-js';
class EditorWithFancyBlockquotes extends React.Component {
render() {
return <Editor ... blockStyleFn={myBlockStyleFn} />;
}
}
然后在你自己的CSS文件中这样定义:
.superFancyBlockquote {
color: #999;
font-family: 'Hoefler Text', Georgia, serif;
font-style: italic;
text-align: center;
}