MathML 表格元素
MathML 表格元素与 HTML 表格 相似:<mtable>
元素代表一个数学表格,它的子元素是 <mtr>
元素(代表行),而每一行又包含 <mtd>
元素作为子元素(代表单元格)。<mtable>
元素可以插入到 MathML 公式中的任何位置。<mtd>
元素可以包含任意数量的 MathML 子元素,并将它们布局为一个 <mrow>
容器。
表格通常用于类似矩阵的表达式(包括向量)。以下是一个取自关于 CSS matrix()
函数的文章中的基本示例:
<math display="block">
<mrow>
<mo>(</mo>
<mtable>
<mtr>
<mtd>
<mi>a</mi>
</mtd>
<mtd>
<mi>c</mi>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<msub>
<mi>t</mi>
<mi>x</mi>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>b</mi>
</mtd>
<mtd>
<mi>d</mi>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<msub>
<mi>t</mi>
<mi>y</mi>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
</mtable>
<mo>)</mo>
</mrow>
</math>
允许单元格跨越多行和多列
这同样与 HTML 表格 类似。<mtd>
元素接受 columnspan
和 rowspan
属性,用于指示单元格跨越多个行和列。下方内部矩阵跨越了外部矩阵的两列。
注意: 出于历史原因,MathML 中用于列跨越的属性名为 columnspan
,而不是 colspan
。
用于高级布局的用法
除了表示类似矩阵的对象外,MathML 表格有时也用于数学公式内的复杂布局,例如在 维基百科的勒让德符号定义 中。在此,不同的情况写在三行中,而值和条件则放置在两列中。
警告: <mtable>
文章 通过特殊属性(如对齐或间距)提供了更高级的布局选项。这些属性起源于 CSS 等效项之前,最初是为非 CSS 感知的渲染器设计的。但是,这些属性可能并未在所有浏览器中实现。未来,<mtable>
用于纯布局目的(即非实际的类似矩阵的对象)很可能被基于 CSS 的替代方案取代。
总结
在本篇文章中,我们回顾了 <mtable>
、<mtr>
和 <mtd>
元素,它们是 HTML 中表格元素的对应项。我们了解了如何使用它们来表示类似矩阵的对象,以及它们有时如何用于复杂的布局。
您几乎完成了本模块的学习——我们只剩最后一件事要做。在 三个著名的数学公式评估 中,您将运用新知识,使用 HTML 和 MathML 重写一篇小数学文章。