如何为内置的降价标记应用样式?

时间:2017-05-03 10:19:42

标签: reactjs markdown react-jsx javascript-marked

我是reactjs的学习者,我正在尝试创建一个文本编辑器,我想对根据开始和结束索引选择的文本进行缩进。

我可以获取所选文本,我可以使用粗体,斜体使用标记包,如**表示粗体,_表示斜体等,但是我不能像文字一样应用样式对齐,标记标签的文本修饰

  

如何为标记的代码应用样式?我该怎么办?还有其他办法吗?

1 个答案:

答案 0 :(得分:0)

您需要定义CSS规则来设置生成的HTML的样式。如果您希望样式仅应用于单个段落(或段落的子集),则可能需要在Markdown中使用原始HTML来定义段落上的类或至少定义内联样式。

原来的syntax rules州(强调补充):

  

Markdown的语法仅用于一个目的:用作网络写作的格式。

     

Markdown不是HTML的替代品,甚至不接近它。它的语法非常小,仅对应于HTML标签的一小部分。我们的想法不是创建一种语法,以便更容易插入HTML标记。在我看来,HTML标签已经很容易插入。 Markdown的想法是让阅读,编写和编辑散文变得容易。 HTML是一种发布格式; Markdown是一种写作形式。因此, Markdown的格式化语法仅解决可以用纯文本传达的问题

     

对于Markdown语法未涵盖的任何标记,您只需使用HTML本身。

由于Markdown不是"发布格式,"提供样式/布局文本的方法超出了Markdown的范围。也就是说,因为你可以包含原始HTML(而HTML是一种发布格式)并非不可能。例如,以下原始HTML将缩进段落:

<p style="padding-left:4em">A paragraph which is indented.<p>

或者,如果你在CSS中定义了一些样式:

.indent {
    padding-left: 4em;
}

然后您可以使用原始HTML将该类分配给段落:

<p class="indent">A paragraph which is indented.<p>

这样做的缺点是,根据规则,Markdown文本不会在块级原始HTML标记内处理。这意味着您的链接以及粗体和斜体文本也需要使用原始HTML进行格式化。

另一种可能性是使用最初由Markdown的Markuru实现引入的非标准属性列表,后来被a few others采用(可能还有更多) ,但我只知道这四个)。在这种情况下,您可以将类分配给Markdown段落(避免使用原始HTML),然后使用CSS定义类的布局。但是,您绝对必须使用实际支持非标准功能的少数实现之一,并且您的文档不再可移植到其他系统。