<mo>

The MathML <mo> element represents an operator in a broad sense. Besides operators in strict mathematical meaning, this element also includes "operators" like parentheses, separators like comma and semicolon, or "absolute value" bars.

Attributes

accent
If the operator is used as an under- or overscript this attribute specifies whether the operator should be treated as an accent.
Allowed values are true or false.
class, id, style
Provided for use with stylesheets.
dir
The text direction. Possible values are either ltr (left to right) or rtl (right to left).
fence
There is no visual effect for this attribute, but it specifies whether the operator is a fence (such as parentheses).
Allowed values are true or false.
form
Specifies the role of the operator in an enclosed expression, which affects spacing and other default properties. For ordinary operators (+, -, etc. ) you usually do not need to specify this attribute explicitly.
Possible values are:
  • prefix, for opening fences. (It is the default value if the operator is the first argument in a <mrow> element with more than one argument.)
  • infix, for separators. (It is the default value if the operator is not included in a <mrow> element.)
  • postfix, closing fences. (It is the default value if the operator is the last argument in a <mrow> element with more than one argument.)
href
Used to set a hyperlink to a specified URI.
largeop
Specifies whether the operator should be drawn larger than normal when displaystyle="true" is set. Allowed values are either true or false.
lspace
The amount of space before the operator (see length for values and units). The constant thickmathspace (5/18em) is the default value.
mathbackground
The background color. You can use #rgb, #rrggbb and HTML color names.
mathcolor
The text color. You can use #rgb, #rrggbb and HTML color names.
mathsize
The size of the content. See length for possible values.
Deprecated values are: small, normal and big. These will be removed in the future.
mathvariant
This attribute specifies the logical class of the operator which varies in typography. That is, although the names suggest the typographic style for the class, semantically, items with the same class are treated "the same" within an expression, which might or might not involve displaying them with the named typography. The following values are allowed:
  • normal (Default value) ; Example
  • bold ; Example
  • italic ; Example
  • bold-italic ; Example
  • double-struck ; Example
  • bold-fraktur ; Example
  • script ; Example
  • bold-script ; Example
  • fraktur ; Example
  • sans-serif ; Example
  • bold-sans-serif ; Example
  • sans-serif-italic ; Example
  • sans-serif-bold-italic ; Example
  • monospace ; Example
  • initial ; مثال
  • tailed ; مثال
  • looped ; مثال
  • stretched ; مثال
maxsize
If stretchy is true, this attribute specifies the maximum size of the operator. Allowed values are:
  • infinity
  • an arbitrary length
minsize
If stretchy is true, this attribute specifies the minimum size of the operator. Allowed values are:
  • infinity
  • an arbitrary length
movablelimits
Specifies whether attached under- and overscripts move to sub- and superscript positions when displaystyle is false.
Allowed values are either true or false.
rspace
The amount of space after the operator (see length for values and units). The constant thickmathspace (5/18em) is the default value.
separator
There is no visual effect for this attribute, but it specifies whether the operator is a separator (such as commas).
Allowed values are true or false.
stretchy
Specifies whether the operator stretches to the size of the adjacent element.
Allowed values are true or false.
symmetric
If stretchy is true, this attribute specifies whether the operator should be vertically symmetric around the imaginary math axis (centered fraction line).
The default value is true if stretchy is set to true and otherwise false. Allowed values are true or false.

Examples

<math>

<mrow>
  <mn>5</mn>
  <mo>+</mo>
  <mn>5</mn>
</mrow>

<mrow>
  <mo> [ </mo> <!-- default form value: prefix -->
  <mrow>
    <mn> 0 </mn>
    <mo> ; </mo> <!-- default form value: infix -->
    <mn> 1 </mn>
  </mrow>
  <mo> ) </mo> <!-- default form value: postfix -->
</mrow>

</math>

Specifications

Specification Status Comment
MathML 3.0
The definition of 'mo' in that specification.
Recommendation Current specification
MathML 2.0
The definition of 'mo' in that specification.
Recommendation Initial specification

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
moChrome No support NoEdge No support NoFirefox Full support 1IE No support NoOpera No support NoSafari Full support 6WebView Android No support NoChrome Android No support NoFirefox Android Full support 4Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
accentChrome No support NoEdge No support NoFirefox Full support 1IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support 4Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
dirChrome No support NoEdge No support NoFirefox Full support 12IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support 14Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
formChrome No support NoEdge No support NoFirefox No support NoIE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
hrefChrome No support NoEdge No support NoFirefox Full support 7IE No support NoOpera No support NoSafari Full support 10WebView Android No support NoChrome Android No support NoFirefox Android Full support 7Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
largeopChrome No support NoEdge No support NoFirefox No support NoIE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
lspaceChrome No support NoEdge No support NoFirefox Full support 1IE No support NoOpera No support NoSafari Full support 6WebView Android No support NoChrome Android No support NoFirefox Android Full support 4Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
mathsizeChrome No support NoEdge No support NoFirefox Full support 1IE No support NoOpera No support NoSafari Full support 6WebView Android No support NoChrome Android No support NoFirefox Android Full support 4Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
mathvariantChrome No support NoEdge No support NoFirefox Full support 28IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support 28Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
maxsizeChrome No support NoEdge No support NoFirefox Full support 1IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support 4Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
minsizeChrome No support NoEdge No support NoFirefox Full support 1IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support 4Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
moveablelimitsChrome No support NoEdge No support NoFirefox Full support 1IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support 4Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
rspaceChrome No support NoEdge No support NoFirefox Full support 1IE No support NoOpera No support NoSafari Full support 6WebView Android No support NoChrome Android No support NoFirefox Android Full support 4Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
stretchyChrome No support NoEdge No support NoFirefox Full support 1IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support 4Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
symmetricChrome No support NoEdge No support NoFirefox Full support 1IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support 4Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No

Legend

Full support
Full support
No support
No support

Gecko-specific notes

  • Starting with Gecko 16.0 (Firefox 16.0 / Thunderbird 16.0 / SeaMonkey 2.13) the default values for lspace and rspace have been corrected to match the MathML3 specification. They now default to the constant thickmathspace (5/18em).
  • Some mathvariant values are only implemented starting with Gecko 28.0 (Firefox 28.0 / Thunderbird 28.0 / SeaMonkey 2.25) and require appropriate math fonts.
  • Any linebreaking or indentation attributes are not implemented yet. See bug 534962.