Здравствуйте,
Я использую Discourse и пытаюсь создать отключаемый баннер с помощью функции «Тема баннера» (Banner Topic). Язык моего сайта — персидский (RTL — справа налево).
Я добавил HTML-контент с встроенными стилями в первый пост темы, и баннер отображается корректно, однако у меня возникли трудности с горизонтальным центрированием содержимого внутри рамки баннера.
Проблема:
По умолчанию содержимое внутри баннера выравнивается по правому краю. При попытке его центрировать выравнивание получается неидеальным: в частности, первая строка текста оказывается слегка смещённой вправо по сравнению с другими строками или блоками контента внутри баннера. Это смещение сохраняется независимо от содержимого первой строки.
Предпринятые попытки центрирования:
-
Использование стандартного CSS-свойства
text-align: center;для основного контейнераdivвнутри HTML поста.
Результат: Контент остался выровненным по правому краю. -
Использование
text-align: center !important;для основногоdiv.
Результат: Контент всё ещё остался выровненным по правому краю. -
Использование устаревшего HTML-атрибута
align="center"для основногоdiv.
Результат: Это сдвинуло контент ближе к центру, но выравнивание между первой строкой/блоком и последующими строками/блоками оказалось неидеальным: первая строка выглядела слегка смещённой вправо относительно остальных. -
Упрощение внутренней HTML-структуры (например, объединение строк текста в меньшее количество параграфов с использованием
<br>).
Результат: Не решило проблему выравнивания между блоками контента. -
Попытка добавить отрицательный
margin-leftвручную к первому параграфу/блоку.
Результат: Не позволило эффективно исправить выравнивание последовательным образом. -
Тестирование в разных браузерах (Chrome, Firefox).
Результат: Проблема сохраняется во всех браузерах.
Пример используемой HTML-структуры в исходном посте (упрощённый):
<div align="center" style="background-color: #f0f0f0; border: 1px solid #ccc; border-radius: 5px; padding: 10px;">
<p style="font-size: 1.1em; font-weight: bold; color: #333;">
Первая строка / блок текста (например, заголовок)<br>
Вторая строка в том же блоке (например, подзаголовок)
</p>
<p style="margin-top: 15px;">
Другой блок (например, строка со ссылкой)
</p>
</div>
(Примечание: здесь используется align="center", так как text-align: center не давал эффекта).
Наблюдение / Предполагаемая причина:
Учитывая, что text-align: center не работает, а align="center" помогает лишь частично, но приводит к неидеальному внутреннему выравниванию, я подозреваю, что какое-то правило CSS в теме Discourse или в ядре рендеринга баннеров мешает. Также может играть роль пространство, зарезервированное для кнопки закрытия («X») слева в макете RTL, что влияет на то, как центрируется оставшаяся область контента.
Вопрос:
Какой рекомендуемый способ обеспечить идеальное горизонтальное центрирование содержимого внутри отключаемого баннера, созданного через «Тему баннера» на сайте Discourse с поддержкой RTL? Нужно ли добавить конкретный фрагмент CSS в кастомизацию темы (что требует прав администратора), чтобы корректно переопределить конфликтующие правила и обеспечить точное центрирование блока контента баннера?
Любые советы или разъяснения будут очень кстати!
Спасибо.