<mtable>
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2023.
* 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 ofHTML.
In this article
Attributes
This element's attributes include theglobal MathML attributes. Some browsers may also support the following attributes:
alignNon-standardSpecifies thevertical 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
alignattribute can end with arow number (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.columnalignNon-standardSpecifies 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) andright.columnlinesNon-standardSpecifies 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),solidanddashed.columnspacingNon-standardSpecifies 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>.frameNon-standardSpecifies borders of the entire table. Possible values are:
none(default),solidanddashed.framespacingNon-standardSpecifies 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>.rowalignNon-standardSpecifies 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,centerandtop.rowlinesNon-standardSpecifies 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),solidanddashed.rowspacingNon-standardSpecifies 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>.widthNon-standardA
<length-percentage>indicating the width of the entire table.
Note:For thewidth attribute, some browsers may also acceptlegacy MathML lengths.
Examples
>Alignment with row number
<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
| Implicit ARIA role | None |
|---|
Specifications
| Specification |
|---|
| MathML Core> # table-or-matrix-mtable> |