Python 如何使用sphinx制作两个柱

Python 如何使用sphinx制作两个柱,python,python-sphinx,restructuredtext,Python,Python Sphinx,Restructuredtext,我想在我的文档上创建多个列 在全球范围内,我想做一些类似的事情,其中有3个专栏:一个是最新版本,一个是新闻和更新,还有基础知识 当我在google上搜索Sphinx中的多列时,我发现了将列表拆分为两列的方法,这与我的情况不同 在wiki上,我发现只有表格有多列,但我认为这不适用于这里 这在使用Sphinx的rst文件中可能吗 非常感谢有几种方法可以做到这一点,因此,要么你找到一个基于三列的狮身人面像主题(据我所知没有),要么按照建议,你可以创建自己的主题,这可能是一项相当艰巨的任务。但是,您可以

我想在我的文档上创建多个列

在全球范围内,我想做一些类似的事情,其中有3个专栏:一个是最新版本,一个是新闻和更新,还有基础知识

当我在google上搜索Sphinx中的多列时,我发现了将列表拆分为两列的方法,这与我的情况不同

在wiki上,我发现只有表格有多列,但我认为这不适用于这里

这在使用Sphinx的rst文件中可能吗


非常感谢

有几种方法可以做到这一点,因此,要么你找到一个基于三列的狮身人面像主题(据我所知没有),要么按照建议,你可以创建自己的主题,这可能是一项相当艰巨的任务。但是,您可以选择一个主题,只需调整
.rst
文件内容并覆盖主题,以3列方式显示内容。要做到这一点,您需要一些HTML和CSS

因此,首先需要创建一个
test.rst
,将内容作为html原始代码,如下所示:

Test
======

.. raw:: html

    <div class="row">
      <div class="column" style="background-color:#aaa;">
        <h2>Column 1</h2>
        <p>Some text..</p>
      </div>
      <div class="column" style="background-color:#bbb;">
        <h2>Column 2</h2>
        <p>Some text..</p>
      </div>
      <div class="column" style="background-color:#ccc;">
        <h2>Column 3</h2>
        <p>Some text..</p>
      </div>
    </div>
最后一步是将此样式添加到
conf.py
文件中,以便将其添加到主题中。因此,在
conf.py
中添加以下行:

def设置(应用程序): app.add_样式表('custom_style.css')) 就这样,现在运行并测试。输出应该有点像这样(取决于您的主题):
好的,我终于找到了:

您可以在sphinx/rst文件中使用
container
关键字来分隔内容

.. container:: twocol

    .. container:: leftside

        text on left column

    .. container:: rightside

        text on right column
然后在.css文件中:

div.leftside{
宽度:43%;
填充:0px 3px 0px 0px;
浮动:左;
}
右侧分区{
左边缘:45%;
/*浮动:对*/
}

使用此方法,您可以在容器中写入所需的所有内容(图像、链接、文本等),并将其正确显示。

这是一个有点陈旧的问题,但现在解决此问题的一个可能更好的方法是使用


该扩展提供了普通reST中没有的各种组件。

我不知道有任何3列Sphinx主题。你可以创建自定义主题。但这并不容易。请看,谢谢。我会尝试一下,并给你一些更新。但是,我对css不是很熟练,所以这可能是一个愚蠢的问题:是否可以对列的高度?我看到你指定的高度:500px。但是如果我不知道我的列的高度会是多少呢?谢谢你,我想你可以去掉这一行,你的列正好适合你的页面高度。我也不是很精通CSS。我通常只是尝试一些东西,看看什么效果最好。这对我来说很好,但我看不出如何结束它。如果我留下几行空白,然后开始一个新的段落,甚至是一个标题,它会一直保留在右边的列中,直到它们达到相等的长度。我想这意味着你必须手动平衡它们。有没有办法解决这个问题?你的代码缩进得好吗?是否有足够的换行符?我不知道它是否有用,但我在sphinx中使用了云主题。等等我的css文件有一些导入:“@import-url(“default.css”);@import-url(“cloud.css”);”应该注意的是,IMO
面板
最适合使用。
.. container:: twocol

    .. container:: leftside

        text on left column

    .. container:: rightside

        text on right column