Как разместить формулу MathML по центру?
Формула, созданная с помощью MathML, по умолчанию является строчным элементом, что позволяет вставлять её посреди текста. Для отображения формулы по центру, к элементу <math> следует добавить атрибут display со значением block.
<math display="block"> <mi>sin</mi> <mn>2</mn> <mi>α</mi> <mo>=</mo> <mn>2</mn> <mi>sin</mi> <mi>α</mi> <mi>cos</mi> <mi>α</mi> </math>
Если нет возможности добавить атрибут display, то допустимо воспользоваться стилями. Для этого в CSS к селектору math применяем свойство display со значением block math.
math { display: block math; /* Выравниваем по центру */ }
Браузеры Firefox и Safari не поддерживают значение math для свойства display, поэтому специально для них добавим ещё одно свойство display со значением block, а также свойство text-align для выравнивания по центру.
math { display: block; /* Для Firefox и Safari */ text-align: center; /* Выравниваем по центру */ display: block math; }
Таким образом, браузер Firefox проигнорирует значение math для display, а Chrome перепишет значение block на block math, поскольку оно идёт ниже.
Формулы MathML могут отображаться в двух вариантах: обычном и компактном.
Обычный вид | Компактный вид |
---|---|
При компактном виде формула выглядит чуть меньше, чтобы размещаться посередине текста и не сильно раздвигать строку. За вид формулы отвечает свойство math-style. Значение compact делает формулу компактной, а normal обычной. Для отображения формулы не в компактном, а обычном виде, добавим к стилю свойство math-style со значением normal.
Окончательный стиль для отображения формулы по центру показан в примере 1.
Пример 1. Формула по центру
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="utf-8"> <title>Формула</title> <style> .formula { display: block; /* Для Firefox и Safari */ text-align: center; display: block math; /* Выравниваем по центру */ math-style: normal; /* Обычный вид */ } </style> </head> <body> <p>Формула двойного угла:</p> <math class="formula"> <mi>sin</mi> <mn>2</mn> <mi>α</mi> <mo>=</mo> <mn>2</mn> <mi>sin</mi> <mi>α</mi> <mi>cos</mi> <mi>α</mi> </math> </body> </html>