:对齐:没有文字换行的图像

问题描述 投票:0回答:2

如何对齐图像但不让文本环绕图像?一种方法是删除

.figure.align-left {float: left;}

来自CSS,但这可能会破坏其他东西 - RST中的任何更干净的东西(我知道

.. raw::html
)?示例案例,在 Firefox 中包装:

Don't wrap me
-------------

.. figure:: img.png
  :align: left
  :width: 500px

or me
python-sphinx restructuredtext
2个回答
2
投票

Sphinx 有一个特殊指令

class
,它将 CSS 类属性分配给下一个元素。有关其工作原理的详细信息,请参阅 class
docutils 文档。

但是在 Sphinx 中,当默认域包含

class
指令时,该指令将被隐藏。因此,Sphinx 将其重新导出为
rst-class
(参见注释)
。因此,您必须在 Python 中使用它,因为它的语言使用
class

以下重构文本标记:

.. rst-class:: image-no-text-wrap

.. figure:: img.png
    :align: left
    :width: 500px

这将产生类似以下 HTML 的内容:

<figure class="image-no-text-wrap align-left">
<a class="reference internal image-reference" href="_images/img.png"><img alt="_images/img.png" src="_images/img.png" style="width: 500px;"></a>
</figure>

最后定义 CSS 选择器,但您认为最好可以防止文本换行,例如:

figure.image-no-text-wrap {
  overflow: hidden;
  white-space: nowrap;
}

0
投票

figure 指令提供了两个选项来指定类值。当 :class: 传递到包含的 <image>

 时,:figclass: 传递到 
<figure>
 元素:

.. figure:: img.png :align: left :class: image-class-value :figclass: figure-class-value
    
© www.soinside.com 2019 - 2024. All rights reserved.