Я пишу документ в сфинксе с тремя основными типами элементов: заголовки, изображения и простой текст.Иногда некоторые элементы необходимо центрировать:
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
Директива reST class
(sphinx rst-class
) должна применяться только к элементу, который следует непосредственно за ним, но в этом случае весь раздел становитсяпо центру, со всем в нем.В этом примере Some generic text
выходит по центру, но должен быть выровнен по левому краю.Фактически, центрирование первого заголовка в документе, как это, в значительной степени центрирует весь документ.
Как центрировать заголовок таким образом, чтобы он применялся только к тегу <h1>
, а не ко всемураздел?
Я использую тему «Читать документы» на sphinx 1.8.0, если это имеет значение.
Дополнительные мысли
В моем случаеМне нужно изменить все <h1>
и <h2>
экземпляры и никаких других заголовков.Я знаю, что это просто сделать в CSS с помощью
h1 h2 { text-align: center; }
Однако этот конкретный документ является частью гораздо более крупного проекта, в котором я хочу сохранить все исходные стили без изменений.Единственный способ сделать это - включить мою настройку CSS только для этого одного документа.Это возможная альтернатива?
Еще несколько мыслей
Ошибка возникает из-за того, что класс center
присоединяется к <div>
, окружающему весь раздел,не тег <h1>
.Тем не менее, я хотел бы иметь возможность позволить некоторым элементам div (например, расширенным строкам) иметь класс center
.Только не div с классом section
.