<mtable>

Baseline 2023 *
Newly available

Since January 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

* Some parts of this feature may have varying levels of support.

The <mtable> MathML element allows you to create tables or matrices. Its children are <mtr> elements (representing rows), each of them having <mtd> elements as its children (representing cells). These elements are similar to <table>, <tr> and <td> elements of HTML.

Attributes

This element's attributes include the global MathML attributes. Some browsers may also support the following attributes:

align Non-standard

Specifies the vertical alignment of the table with respect to its environment. Possible values are:

  • axis (default): The vertical center of the table aligns on the environment's axis (typically the minus sign).
  • baseline: The vertical center of the table aligns on the environment's baseline.
  • bottom: The bottom of the table aligns on the environments baseline.
  • center: See baseline.
  • top: The top of the table aligns on the environments baseline.

In addition, values of the align attribute can end with a rownumber (e.g. align="center 3"). This allows you to align the specified row of the table rather than the whole table. A negative Integer value counts rows from the bottom of the table.

columnalign Non-standard

Specifies the horizontal alignment of the cells. Multiple values separated by space are allowed and apply to the corresponding columns (e.g. columnalign="left right center"). Possible values are: left, center (default) and right.

columnlines Non-standard

Specifies column borders. Multiple values separated by space are allowed and apply to the corresponding columns (e.g. columnlines="none none solid"). Possible values are: none (default), solid and dashed.

columnspacing Non-standard

Specifies the space between table columns. Multiple values separated by space are allowed and apply to the corresponding columns (e.g. columnspacing="1em 2em"). Possible values are <length-percentage>.

frame Non-standard

Specifies borders of the entire table. Possible values are: none (default), solid and dashed.

framespacing Non-standard

Specifies additional space added between the table and frame. The first value specifies the spacing on the right and left; the second value specifies the spacing above and below. Possible values are <length-percentage>.

rowalign Non-standard

Specifies the vertical alignment of the cells. Multiple values separated by space are allowed and apply to the corresponding rows (e.g. rowalign="top bottom axis"). Possible values are: axis, baseline (default), bottom, center and top.

rowlines Non-standard

Specifies row borders. Multiple values separated by space are allowed and apply to the corresponding rows (e.g. rowlines="none none solid"). Possible values are: none (default), solid and dashed.

rowspacing Non-standard

Specifies the space between table rows. Multiple values separated by space are allowed and apply to the corresponding rows (e.g. rowspacing="1em 2em"). Possible values are <length-percentage>.

width Non-standard

A <length-percentage> indicating the width of the entire table.

Note: For the width attribute, some browsers may also accept legacy MathML lengths.

Examples

Alignment with row number

html
<math display="block">
  <mi>X</mi>
  <mo>=</mo>
  <mtable frame="solid" rowlines="solid" align="axis 3">
    <mtr>
      <mtd><mi>A</mi></mtd>
      <mtd><mi>B</mi></mtd>
    </mtr>
    <mtr>
      <mtd><mi>C</mi></mtd>
      <mtd><mi>D</mi></mtd>
    </mtr>
    <mtr>
      <mtd><mi>E</mi></mtd>
      <mtd><mi>F</mi></mtd>
    </mtr>
  </mtable>
</math>

Technical summary

Specifications

Specification
MathML Core
# table-or-matrix-mtable

Browser compatibility

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
mtable
align
Non-standard
columnalign
Non-standard
columnlines
Non-standard
columnspacing
Non-standard
frame
Non-standard
framespacing
Non-standard
rowalign
Non-standard
rowlines
Non-standard
rowspacing
Non-standard
width
Non-standard
Named spaces (e.g. thinmathspace to mean 3/18em)
DeprecatedNon-standard

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
Non-standard. Check cross-browser support before using.
Deprecated. Not for use in new websites.

See also