代码之家  ›  专栏  ›  技术社区  ›  Mad Physicist

带狮身人面像的居中航向

  •  0
  • Mad Physicist  · 技术社区  · 6 年前

    Heading
    =======
    
    .. rst-class:: center
    
    A centered paragraph, followed by non-centered image.
    
    .. image:: /_static/exhibit_a.png
    
    A non-centered paragraph, followed by centered image.
    
    .. image:: /_static/exhibit_b.png
       :class: center
    

    常规文本和图像可以很好地居中,因为我注册了一个如下所示的CSS文件:

    .center { text-align: center; }
    img.center {
        display: block;
        margin: auto;
    }
    

    .. rst-class: center
    
    ===================
    A Heading 1 Element
    ===================
    
    Some generic text
    

    class (狮身人面像) rst-class )指令应该只应用于紧跟在它后面的元素,但在这种情况下,整个部分将与其中的所有内容居中对齐。在这个例子中, Some generic text

    如何将标题居中对齐,使其仅适用于 <h1>

    我正在使用sphinx1.8.0上的readthedocs主题,以防有什么问题。

    其他想法

    在我的情况下,我需要修改所有 <h1> <h2> 实例,没有其他标题。我知道在CSS中,只要使用

    h1 h2 { text-align: center; }
    

    但是,这个特定文档是一个更大项目的一部分,在这个项目中,我希望保持所有原始样式不变。唯一的方法是只为这一个文档包含我的CSS定制。这是一个可能的选择吗?

    还有一些想法

    center <div> 包围整个区域,而不是整个区域 < 标签。但是,我希望能够允许一些div(比如延长线)拥有 section 班级。

    2 回复  |  直到 6 年前
        1
  •  1
  •   Steve Piercy    6 年前

    .. rst-class: center ,尝试组合CSS选择器,如下所示:

    .center h1,
    .center h2 {
        text-align: center;
    }
    

    因此只有 h1 h2

        2
  •  0
  •   Mad Physicist    4 年前

    我们的想法是取消选择 <div> 元素包含我想要的部分,并在CSS中选择紧靠其下方的标题:

    .center:not(.section), .center>h1, .center>h2 {
        text-align: center;
    }
    

    section 类,但将标题放在它下面的中心。 :not https://stackoverflow.com/a/2482475/2988730

    .center>h1 而不是 .center h1 确保只获取所标记的确切标题,而不是所有嵌套标题。虽然后者是诱人的方便,我会遇到问题,如果我使用它,保证。