Path: blob/main/files/en-us/web/mathml/element/mtable/index.md
6532 views
------{{MathMLRef}}
The <mtable> MathML element allows you to create tables or matrices. Its children are {{ MathMLElement("mtr") }} elements (representing rows), each of them having {{ MathMLElement("mtd") }} elements as its children (representing cells). These elements are similar to {{ HTMLElement("table") }}, {{ HTMLElement("tr") }} and {{ HTMLElement("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_Inline}}: 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
alignattribute 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_Inline}}: 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) andright.
columnlines{{Non-standard_Inline}}: 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),solidanddashed.
columnspacing{{Non-standard_Inline}}: 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_Inline}}: Specifies borders of the entire table. Possible values are:
none(default),solidanddashed.
framespacing{{Non-standard_Inline}}: 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_Inline}}: 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,centerandtop.
rowlines{{Non-standard_Inline}}: 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),solidanddashed.
rowspacing{{Non-standard_Inline}}: 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_Inline}}: A
<length-percentage>indicating the width of the entire table.
Note: For the
widthattribute, some browsers may also accept legacy MathML lengths.
Examples
Alignment with row number
{{ EmbedLiveSample('mtable_example', 700, 200, "", "") }}
Specifications
{{Specifications}}
Browser compatibility
{{Compat}}
See also
{{ MathMLElement("mtd") }} (Table cell)
{{ MathMLElement("mtr") }} (Table row)