为文本块应用CSS和角色,而不是在Sphinx中使用内联跨度

问题描述 投票:13回答:1

a previous question解释了如何向某些reStructuredText添加颜色范围。

回顾过程:

首先,您要扮演角色。

.. role:: red

An example of using :red:`interpreted text`

其翻译如下。

<p>An example of using <span class="red">interpreted text</span></p>

现在,您有了红色的类,可以使用CSS更改颜色。

.red {
    color:red;
}

如果要跨多行的文本,该怎么办?例如:

.. role:: red

:red:`paragraph 1

      paragraph 2

      paragraph 3`

第1、2和3段全部为“红色”。如果我尝试这样做,则会收到警告消息:

警告:内联解释文本或短语引用的起始字符串,不包含结束字符串。

不会创建跨度,而是在文本中插入“:red:”。它只是不将其解释为字符串(如警告所示)。

基本上,这可以在reStructuredText中完成,如果可以,怎么办?

我正在使用Sphinx 1.1.3。

python-sphinx restructuredtext
1个回答
12
投票

有多种方法可以执行此操作,但是其中一种方法是使用class指令:

.. class:: red

    This is a paragraph.

    This is another paragraph.

大多数docutils HTML编写者会将其作为类html属性放入html输出中,然后可以使用CSS设置其样式。

但是,特别是在狮身人面像中,至少在某些情况下,您可能需要使用rst-class而不是class。请参阅:https://www.sphinx-doc.org/en/2.0/usage/restructuredtext/basics.html

此外,RestructuredText中的许多块级元素都采用:class:参数,它几乎具有相同的作用。

© www.soinside.com 2019 - 2024. All rights reserved.